using System;

namespace FixedPointMath
{
    public static class SinCosLookupTable
    {
        public static readonly int BITS;

        public static readonly int MASK;

        public static readonly int COUNT;

        public static readonly int FACTOR;

        public static readonly int NOM_MUL;

        public static readonly int[] sin_table;

        public static readonly int[] cos_table;

        static SinCosLookupTable()
        {
            SinCosLookupTable.BITS = 12;
            SinCosLookupTable.MASK = ~(-1 << SinCosLookupTable.BITS);
            SinCosLookupTable.COUNT = SinCosLookupTable.MASK + 1;
            SinCosLookupTable.FACTOR = 10000;
            SinCosLookupTable.NOM_MUL = SinCosLookupTable.FACTOR * SinCosLookupTable.COUNT;
            SinCosLookupTable.sin_table = new int[]
            {
            0,
            15,
            31,
            46,
            61,
            77,
            92,
            107,
            123,
            138,
            153,
            169,
            184,
            199,
            215,
            230,
            245,
            261,
            276,
            291,
            307,
            322,
            337,
            353,
            368,
            383,
            399,
            414,
            429,
            445,
            460,
            475,
            491,
            506,
            521,
            537,
            552,
            567,
            583,
            598,
            613,
            629,
            644,
            659,
            674,
            690,
            705,
            720,
            736,
            751,
            766,
            782,
            797,
            812,
            827,
            843,
            858,
            873,
            889,
            904,
            919,
            934,
            950,
            965,
            980,
            995,
            1011,
            1026,
            1041,
            1056,
            1072,
            1087,
            1102,
            1117,
            1133,
            1148,
            1163,
            1178,
            1194,
            1209,
            1224,
            1239,
            1255,
            1270,
            1285,
            1300,
            1315,
            1331,
            1346,
            1361,
            1376,
            1391,
            1407,
            1422,
            1437,
            1452,
            1467,
            1482,
            1498,
            1513,
            1528,
            1543,
            1558,
            1573,
            1589,
            1604,
            1619,
            1634,
            1649,
            1664,
            1679,
            1695,
            1710,
            1725,
            1740,
            1755,
            1770,
            1785,
            1800,
            1815,
            1830,
            1845,
            1861,
            1876,
            1891,
            1906,
            1921,
            1936,
            1951,
            1966,
            1981,
            1996,
            2011,
            2026,
            2041,
            2056,
            2071,
            2086,
            2101,
            2116,
            2131,
            2146,
            2161,
            2176,
            2191,
            2206,
            2221,
            2236,
            2251,
            2266,
            2281,
            2296,
            2311,
            2326,
            2340,
            2355,
            2370,
            2385,
            2400,
            2415,
            2430,
            2445,
            2460,
            2474,
            2489,
            2504,
            2519,
            2534,
            2549,
            2563,
            2578,
            2593,
            2608,
            2623,
            2638,
            2652,
            2667,
            2682,
            2697,
            2711,
            2726,
            2741,
            2756,
            2770,
            2785,
            2800,
            2815,
            2829,
            2844,
            2859,
            2873,
            2888,
            2903,
            2918,
            2932,
            2947,
            2962,
            2976,
            2991,
            3005,
            3020,
            3035,
            3049,
            3064,
            3078,
            3093,
            3108,
            3122,
            3137,
            3151,
            3166,
            3180,
            3195,
            3210,
            3224,
            3239,
            3253,
            3268,
            3282,
            3297,
            3311,
            3326,
            3340,
            3354,
            3369,
            3383,
            3398,
            3412,
            3427,
            3441,
            3455,
            3470,
            3484,
            3499,
            3513,
            3527,
            3542,
            3556,
            3570,
            3585,
            3599,
            3613,
            3628,
            3642,
            3656,
            3670,
            3685,
            3699,
            3713,
            3727,
            3742,
            3756,
            3770,
            3784,
            3798,
            3813,
            3827,
            3841,
            3855,
            3869,
            3883,
            3898,
            3912,
            3926,
            3940,
            3954,
            3968,
            3982,
            3996,
            4010,
            4024,
            4038,
            4052,
            4066,
            4080,
            4094,
            4108,
            4122,
            4136,
            4150,
            4164,
            4178,
            4192,
            4206,
            4220,
            4234,
            4248,
            4262,
            4276,
            4289,
            4303,
            4317,
            4331,
            4345,
            4359,
            4372,
            4386,
            4400,
            4414,
            4427,
            4441,
            4455,
            4469,
            4482,
            4496,
            4510,
            4523,
            4537,
            4551,
            4564,
            4578,
            4592,
            4605,
            4619,
            4633,
            4646,
            4660,
            4673,
            4687,
            4700,
            4714,
            4727,
            4741,
            4755,
            4768,
            4781,
            4795,
            4808,
            4822,
            4835,
            4849,
            4862,
            4876,
            4889,
            4902,
            4916,
            4929,
            4942,
            4956,
            4969,
            4982,
            4996,
            5009,
            5022,
            5035,
            5049,
            5062,
            5075,
            5088,
            5102,
            5115,
            5128,
            5141,
            5154,
            5167,
            5180,
            5194,
            5207,
            5220,
            5233,
            5246,
            5259,
            5272,
            5285,
            5298,
            5311,
            5324,
            5337,
            5350,
            5363,
            5376,
            5389,
            5402,
            5415,
            5428,
            5440,
            5453,
            5466,
            5479,
            5492,
            5505,
            5517,
            5530,
            5543,
            5556,
            5568,
            5581,
            5594,
            5607,
            5619,
            5632,
            5645,
            5657,
            5670,
            5683,
            5695,
            5708,
            5720,
            5733,
            5746,
            5758,
            5771,
            5783,
            5796,
            5808,
            5821,
            5833,
            5846,
            5858,
            5870,
            5883,
            5895,
            5908,
            5920,
            5932,
            5945,
            5957,
            5969,
            5982,
            5994,
            6006,
            6018,
            6031,
            6043,
            6055,
            6067,
            6079,
            6092,
            6104,
            6116,
            6128,
            6140,
            6152,
            6164,
            6176,
            6189,
            6201,
            6213,
            6225,
            6237,
            6249,
            6261,
            6273,
            6284,
            6296,
            6308,
            6320,
            6332,
            6344,
            6356,
            6368,
            6379,
            6391,
            6403,
            6415,
            6427,
            6438,
            6450,
            6462,
            6473,
            6485,
            6497,
            6508,
            6520,
            6532,
            6543,
            6555,
            6567,
            6578,
            6590,
            6601,
            6613,
            6624,
            6636,
            6647,
            6659,
            6670,
            6681,
            6693,
            6704,
            6716,
            6727,
            6738,
            6750,
            6761,
            6772,
            6784,
            6795,
            6806,
            6817,
            6828,
            6840,
            6851,
            6862,
            6873,
            6884,
            6895,
            6907,
            6918,
            6929,
            6940,
            6951,
            6962,
            6973,
            6984,
            6995,
            7006,
            7017,
            7028,
            7038,
            7049,
            7060,
            7071,
            7082,
            7093,
            7104,
            7114,
            7125,
            7136,
            7147,
            7157,
            7168,
            7179,
            7189,
            7200,
            7211,
            7221,
            7232,
            7242,
            7253,
            7264,
            7274,
            7285,
            7295,
            7306,
            7316,
            7327,
            7337,
            7347,
            7358,
            7368,
            7379,
            7389,
            7399,
            7410,
            7420,
            7430,
            7440,
            7451,
            7461,
            7471,
            7481,
            7491,
            7502,
            7512,
            7522,
            7532,
            7542,
            7552,
            7562,
            7572,
            7582,
            7592,
            7602,
            7612,
            7622,
            7632,
            7642,
            7652,
            7662,
            7671,
            7681,
            7691,
            7701,
            7711,
            7720,
            7730,
            7740,
            7750,
            7759,
            7769,
            7779,
            7788,
            7798,
            7807,
            7817,
            7827,
            7836,
            7846,
            7855,
            7865,
            7874,
            7883,
            7893,
            7902,
            7912,
            7921,
            7930,
            7940,
            7949,
            7958,
            7968,
            7977,
            7986,
            7995,
            8005,
            8014,
            8023,
            8032,
            8041,
            8050,
            8059,
            8068,
            8078,
            8087,
            8096,
            8105,
            8114,
            8123,
            8131,
            8140,
            8149,
            8158,
            8167,
            8176,
            8185,
            8193,
            8202,
            8211,
            8220,
            8228,
            8237,
            8246,
            8255,
            8263,
            8272,
            8280,
            8289,
            8298,
            8306,
            8315,
            8323,
            8332,
            8340,
            8349,
            8357,
            8365,
            8374,
            8382,
            8391,
            8399,
            8407,
            8416,
            8424,
            8432,
            8440,
            8449,
            8457,
            8465,
            8473,
            8481,
            8489,
            8497,
            8505,
            8514,
            8522,
            8530,
            8538,
            8546,
            8554,
            8561,
            8569,
            8577,
            8585,
            8593,
            8601,
            8609,
            8616,
            8624,
            8632,
            8640,
            8647,
            8655,
            8663,
            8670,
            8678,
            8686,
            8693,
            8701,
            8708,
            8716,
            8723,
            8731,
            8738,
            8746,
            8753,
            8761,
            8768,
            8775,
            8783,
            8790,
            8797,
            8805,
            8812,
            8819,
            8826,
            8834,
            8841,
            8848,
            8855,
            8862,
            8869,
            8876,
            8883,
            8890,
            8897,
            8904,
            8911,
            8918,
            8925,
            8932,
            8939,
            8946,
            8953,
            8960,
            8966,
            8973,
            8980,
            8987,
            8993,
            9000,
            9007,
            9013,
            9020,
            9027,
            9033,
            9040,
            9046,
            9053,
            9059,
            9066,
            9072,
            9079,
            9085,
            9092,
            9098,
            9104,
            9111,
            9117,
            9123,
            9130,
            9136,
            9142,
            9148,
            9154,
            9161,
            9167,
            9173,
            9179,
            9185,
            9191,
            9197,
            9203,
            9209,
            9215,
            9221,
            9227,
            9233,
            9239,
            9245,
            9250,
            9256,
            9262,
            9268,
            9274,
            9279,
            9285,
            9291,
            9296,
            9302,
            9308,
            9313,
            9319,
            9324,
            9330,
            9335,
            9341,
            9346,
            9352,
            9357,
            9363,
            9368,
            9373,
            9379,
            9384,
            9389,
            9395,
            9400,
            9405,
            9410,
            9415,
            9421,
            9426,
            9431,
            9436,
            9441,
            9446,
            9451,
            9456,
            9461,
            9466,
            9471,
            9476,
            9481,
            9486,
            9490,
            9495,
            9500,
            9505,
            9510,
            9514,
            9519,
            9524,
            9528,
            9533,
            9538,
            9542,
            9547,
            9551,
            9556,
            9560,
            9565,
            9569,
            9574,
            9578,
            9583,
            9587,
            9591,
            9596,
            9600,
            9604,
            9609,
            9613,
            9617,
            9621,
            9625,
            9630,
            9634,
            9638,
            9642,
            9646,
            9650,
            9654,
            9658,
            9662,
            9666,
            9670,
            9674,
            9678,
            9681,
            9685,
            9689,
            9693,
            9697,
            9700,
            9704,
            9708,
            9711,
            9715,
            9719,
            9722,
            9726,
            9729,
            9733,
            9736,
            9740,
            9743,
            9747,
            9750,
            9754,
            9757,
            9760,
            9764,
            9767,
            9770,
            9774,
            9777,
            9780,
            9783,
            9786,
            9789,
            9793,
            9796,
            9799,
            9802,
            9805,
            9808,
            9811,
            9814,
            9817,
            9820,
            9823,
            9825,
            9828,
            9831,
            9834,
            9837,
            9839,
            9842,
            9845,
            9847,
            9850,
            9853,
            9855,
            9858,
            9861,
            9863,
            9866,
            9868,
            9871,
            9873,
            9875,
            9878,
            9880,
            9883,
            9885,
            9887,
            9890,
            9892,
            9894,
            9896,
            9898,
            9901,
            9903,
            9905,
            9907,
            9909,
            9911,
            9913,
            9915,
            9917,
            9919,
            9921,
            9923,
            9925,
            9927,
            9929,
            9930,
            9932,
            9934,
            9936,
            9937,
            9939,
            9941,
            9942,
            9944,
            9946,
            9947,
            9949,
            9950,
            9952,
            9953,
            9955,
            9956,
            9958,
            9959,
            9960,
            9962,
            9963,
            9964,
            9966,
            9967,
            9968,
            9969,
            9971,
            9972,
            9973,
            9974,
            9975,
            9976,
            9977,
            9978,
            9979,
            9980,
            9981,
            9982,
            9983,
            9984,
            9985,
            9986,
            9986,
            9987,
            9988,
            9989,
            9989,
            9990,
            9991,
            9991,
            9992,
            9993,
            9993,
            9994,
            9994,
            9995,
            9995,
            9996,
            9996,
            9997,
            9997,
            9997,
            9998,
            9998,
            9998,
            9999,
            9999,
            9999,
            9999,
            9999,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            9999,
            9999,
            9999,
            9999,
            9999,
            9998,
            9998,
            9998,
            9997,
            9997,
            9997,
            9996,
            9996,
            9995,
            9995,
            9994,
            9994,
            9993,
            9993,
            9992,
            9991,
            9991,
            9990,
            9989,
            9989,
            9988,
            9987,
            9986,
            9986,
            9985,
            9984,
            9983,
            9982,
            9981,
            9980,
            9979,
            9978,
            9977,
            9976,
            9975,
            9974,
            9973,
            9972,
            9971,
            9969,
            9968,
            9967,
            9966,
            9964,
            9963,
            9962,
            9960,
            9959,
            9958,
            9956,
            9955,
            9953,
            9952,
            9950,
            9949,
            9947,
            9946,
            9944,
            9942,
            9941,
            9939,
            9937,
            9936,
            9934,
            9932,
            9930,
            9929,
            9927,
            9925,
            9923,
            9921,
            9919,
            9917,
            9915,
            9913,
            9911,
            9909,
            9907,
            9905,
            9903,
            9901,
            9898,
            9896,
            9894,
            9892,
            9890,
            9887,
            9885,
            9883,
            9880,
            9878,
            9875,
            9873,
            9871,
            9868,
            9866,
            9863,
            9861,
            9858,
            9855,
            9853,
            9850,
            9847,
            9845,
            9842,
            9839,
            9837,
            9834,
            9831,
            9828,
            9825,
            9823,
            9820,
            9817,
            9814,
            9811,
            9808,
            9805,
            9802,
            9799,
            9796,
            9793,
            9789,
            9786,
            9783,
            9780,
            9777,
            9774,
            9770,
            9767,
            9764,
            9760,
            9757,
            9754,
            9750,
            9747,
            9743,
            9740,
            9736,
            9733,
            9729,
            9726,
            9722,
            9719,
            9715,
            9711,
            9708,
            9704,
            9700,
            9697,
            9693,
            9689,
            9685,
            9681,
            9678,
            9674,
            9670,
            9666,
            9662,
            9658,
            9654,
            9650,
            9646,
            9642,
            9638,
            9634,
            9630,
            9625,
            9621,
            9617,
            9613,
            9609,
            9604,
            9600,
            9596,
            9591,
            9587,
            9583,
            9578,
            9574,
            9569,
            9565,
            9560,
            9556,
            9551,
            9547,
            9542,
            9538,
            9533,
            9528,
            9524,
            9519,
            9514,
            9510,
            9505,
            9500,
            9495,
            9490,
            9486,
            9481,
            9476,
            9471,
            9466,
            9461,
            9456,
            9451,
            9446,
            9441,
            9436,
            9431,
            9426,
            9421,
            9415,
            9410,
            9405,
            9400,
            9395,
            9389,
            9384,
            9379,
            9373,
            9368,
            9363,
            9357,
            9352,
            9346,
            9341,
            9335,
            9330,
            9324,
            9319,
            9313,
            9308,
            9302,
            9296,
            9291,
            9285,
            9279,
            9274,
            9268,
            9262,
            9256,
            9250,
            9245,
            9239,
            9233,
            9227,
            9221,
            9215,
            9209,
            9203,
            9197,
            9191,
            9185,
            9179,
            9173,
            9167,
            9161,
            9154,
            9148,
            9142,
            9136,
            9130,
            9123,
            9117,
            9111,
            9104,
            9098,
            9092,
            9085,
            9079,
            9072,
            9066,
            9059,
            9053,
            9046,
            9040,
            9033,
            9027,
            9020,
            9013,
            9007,
            9000,
            8993,
            8987,
            8980,
            8973,
            8966,
            8960,
            8953,
            8946,
            8939,
            8932,
            8925,
            8918,
            8911,
            8904,
            8897,
            8890,
            8883,
            8876,
            8869,
            8862,
            8855,
            8848,
            8841,
            8834,
            8826,
            8819,
            8812,
            8805,
            8797,
            8790,
            8783,
            8775,
            8768,
            8761,
            8753,
            8746,
            8738,
            8731,
            8723,
            8716,
            8708,
            8701,
            8693,
            8686,
            8678,
            8670,
            8663,
            8655,
            8647,
            8640,
            8632,
            8624,
            8616,
            8609,
            8601,
            8593,
            8585,
            8577,
            8569,
            8561,
            8554,
            8546,
            8538,
            8530,
            8522,
            8514,
            8505,
            8497,
            8489,
            8481,
            8473,
            8465,
            8457,
            8449,
            8440,
            8432,
            8424,
            8416,
            8407,
            8399,
            8391,
            8382,
            8374,
            8365,
            8357,
            8349,
            8340,
            8332,
            8323,
            8315,
            8306,
            8298,
            8289,
            8280,
            8272,
            8263,
            8255,
            8246,
            8237,
            8228,
            8220,
            8211,
            8202,
            8193,
            8185,
            8176,
            8167,
            8158,
            8149,
            8140,
            8131,
            8123,
            8114,
            8105,
            8096,
            8087,
            8078,
            8068,
            8059,
            8050,
            8041,
            8032,
            8023,
            8014,
            8005,
            7995,
            7986,
            7977,
            7968,
            7958,
            7949,
            7940,
            7930,
            7921,
            7912,
            7902,
            7893,
            7883,
            7874,
            7865,
            7855,
            7846,
            7836,
            7827,
            7817,
            7807,
            7798,
            7788,
            7779,
            7769,
            7759,
            7750,
            7740,
            7730,
            7720,
            7711,
            7701,
            7691,
            7681,
            7671,
            7662,
            7652,
            7642,
            7632,
            7622,
            7612,
            7602,
            7592,
            7582,
            7572,
            7562,
            7552,
            7542,
            7532,
            7522,
            7512,
            7502,
            7491,
            7481,
            7471,
            7461,
            7451,
            7440,
            7430,
            7420,
            7410,
            7399,
            7389,
            7379,
            7368,
            7358,
            7347,
            7337,
            7327,
            7316,
            7306,
            7295,
            7285,
            7274,
            7264,
            7253,
            7242,
            7232,
            7221,
            7211,
            7200,
            7189,
            7179,
            7168,
            7157,
            7147,
            7136,
            7125,
            7114,
            7104,
            7093,
            7082,
            7071,
            7060,
            7049,
            7038,
            7028,
            7017,
            7006,
            6995,
            6984,
            6973,
            6962,
            6951,
            6940,
            6929,
            6918,
            6907,
            6895,
            6884,
            6873,
            6862,
            6851,
            6840,
            6828,
            6817,
            6806,
            6795,
            6784,
            6772,
            6761,
            6750,
            6738,
            6727,
            6716,
            6704,
            6693,
            6681,
            6670,
            6659,
            6647,
            6636,
            6624,
            6613,
            6601,
            6590,
            6578,
            6567,
            6555,
            6543,
            6532,
            6520,
            6508,
            6497,
            6485,
            6473,
            6462,
            6450,
            6438,
            6427,
            6415,
            6403,
            6391,
            6379,
            6368,
            6356,
            6344,
            6332,
            6320,
            6308,
            6296,
            6284,
            6273,
            6261,
            6249,
            6237,
            6225,
            6213,
            6201,
            6189,
            6176,
            6164,
            6152,
            6140,
            6128,
            6116,
            6104,
            6092,
            6079,
            6067,
            6055,
            6043,
            6031,
            6018,
            6006,
            5994,
            5982,
            5969,
            5957,
            5945,
            5932,
            5920,
            5908,
            5895,
            5883,
            5870,
            5858,
            5846,
            5833,
            5821,
            5808,
            5796,
            5783,
            5771,
            5758,
            5746,
            5733,
            5720,
            5708,
            5695,
            5683,
            5670,
            5657,
            5645,
            5632,
            5619,
            5607,
            5594,
            5581,
            5568,
            5556,
            5543,
            5530,
            5517,
            5505,
            5492,
            5479,
            5466,
            5453,
            5440,
            5428,
            5415,
            5402,
            5389,
            5376,
            5363,
            5350,
            5337,
            5324,
            5311,
            5298,
            5285,
            5272,
            5259,
            5246,
            5233,
            5220,
            5207,
            5194,
            5180,
            5167,
            5154,
            5141,
            5128,
            5115,
            5102,
            5088,
            5075,
            5062,
            5049,
            5035,
            5022,
            5009,
            4996,
            4982,
            4969,
            4956,
            4942,
            4929,
            4916,
            4902,
            4889,
            4876,
            4862,
            4849,
            4835,
            4822,
            4808,
            4795,
            4781,
            4768,
            4755,
            4741,
            4727,
            4714,
            4700,
            4687,
            4673,
            4660,
            4646,
            4633,
            4619,
            4605,
            4592,
            4578,
            4564,
            4551,
            4537,
            4523,
            4510,
            4496,
            4482,
            4469,
            4455,
            4441,
            4427,
            4414,
            4400,
            4386,
            4372,
            4359,
            4345,
            4331,
            4317,
            4303,
            4289,
            4276,
            4262,
            4248,
            4234,
            4220,
            4206,
            4192,
            4178,
            4164,
            4150,
            4136,
            4122,
            4108,
            4094,
            4080,
            4066,
            4052,
            4038,
            4024,
            4010,
            3996,
            3982,
            3968,
            3954,
            3940,
            3926,
            3912,
            3898,
            3883,
            3869,
            3855,
            3841,
            3827,
            3813,
            3798,
            3784,
            3770,
            3756,
            3742,
            3727,
            3713,
            3699,
            3685,
            3670,
            3656,
            3642,
            3628,
            3613,
            3599,
            3585,
            3570,
            3556,
            3542,
            3527,
            3513,
            3499,
            3484,
            3470,
            3455,
            3441,
            3427,
            3412,
            3398,
            3383,
            3369,
            3354,
            3340,
            3326,
            3311,
            3297,
            3282,
            3268,
            3253,
            3239,
            3224,
            3210,
            3195,
            3180,
            3166,
            3151,
            3137,
            3122,
            3108,
            3093,
            3078,
            3064,
            3049,
            3035,
            3020,
            3005,
            2991,
            2976,
            2962,
            2947,
            2932,
            2918,
            2903,
            2888,
            2873,
            2859,
            2844,
            2829,
            2815,
            2800,
            2785,
            2770,
            2756,
            2741,
            2726,
            2711,
            2697,
            2682,
            2667,
            2652,
            2638,
            2623,
            2608,
            2593,
            2578,
            2563,
            2549,
            2534,
            2519,
            2504,
            2489,
            2474,
            2460,
            2445,
            2430,
            2415,
            2400,
            2385,
            2370,
            2355,
            2340,
            2326,
            2311,
            2296,
            2281,
            2266,
            2251,
            2236,
            2221,
            2206,
            2191,
            2176,
            2161,
            2146,
            2131,
            2116,
            2101,
            2086,
            2071,
            2056,
            2041,
            2026,
            2011,
            1996,
            1981,
            1966,
            1951,
            1936,
            1921,
            1906,
            1891,
            1876,
            1861,
            1845,
            1830,
            1815,
            1800,
            1785,
            1770,
            1755,
            1740,
            1725,
            1710,
            1695,
            1679,
            1664,
            1649,
            1634,
            1619,
            1604,
            1589,
            1573,
            1558,
            1543,
            1528,
            1513,
            1498,
            1482,
            1467,
            1452,
            1437,
            1422,
            1407,
            1391,
            1376,
            1361,
            1346,
            1331,
            1315,
            1300,
            1285,
            1270,
            1255,
            1239,
            1224,
            1209,
            1194,
            1178,
            1163,
            1148,
            1133,
            1117,
            1102,
            1087,
            1072,
            1056,
            1041,
            1026,
            1011,
            995,
            980,
            965,
            950,
            934,
            919,
            904,
            889,
            873,
            858,
            843,
            827,
            812,
            797,
            782,
            766,
            751,
            736,
            720,
            705,
            690,
            674,
            659,
            644,
            629,
            613,
            598,
            583,
            567,
            552,
            537,
            521,
            506,
            491,
            475,
            460,
            445,
            429,
            414,
            399,
            383,
            368,
            353,
            337,
            322,
            307,
            291,
            276,
            261,
            245,
            230,
            215,
            199,
            184,
            169,
            153,
            138,
            123,
            107,
            92,
            77,
            61,
            46,
            31,
            15,
            0,
            -15,
            -31,
            -46,
            -61,
            -77,
            -92,
            -107,
            -123,
            -138,
            -153,
            -169,
            -184,
            -199,
            -215,
            -230,
            -245,
            -261,
            -276,
            -291,
            -307,
            -322,
            -337,
            -353,
            -368,
            -383,
            -399,
            -414,
            -429,
            -445,
            -460,
            -475,
            -491,
            -506,
            -521,
            -537,
            -552,
            -567,
            -583,
            -598,
            -613,
            -629,
            -644,
            -659,
            -674,
            -690,
            -705,
            -720,
            -736,
            -751,
            -766,
            -782,
            -797,
            -812,
            -827,
            -843,
            -858,
            -873,
            -889,
            -904,
            -919,
            -934,
            -950,
            -965,
            -980,
            -995,
            -1011,
            -1026,
            -1041,
            -1056,
            -1072,
            -1087,
            -1102,
            -1117,
            -1133,
            -1148,
            -1163,
            -1178,
            -1194,
            -1209,
            -1224,
            -1239,
            -1255,
            -1270,
            -1285,
            -1300,
            -1315,
            -1331,
            -1346,
            -1361,
            -1376,
            -1391,
            -1407,
            -1422,
            -1437,
            -1452,
            -1467,
            -1482,
            -1498,
            -1513,
            -1528,
            -1543,
            -1558,
            -1573,
            -1589,
            -1604,
            -1619,
            -1634,
            -1649,
            -1664,
            -1679,
            -1695,
            -1710,
            -1725,
            -1740,
            -1755,
            -1770,
            -1785,
            -1800,
            -1815,
            -1830,
            -1845,
            -1861,
            -1876,
            -1891,
            -1906,
            -1921,
            -1936,
            -1951,
            -1966,
            -1981,
            -1996,
            -2011,
            -2026,
            -2041,
            -2056,
            -2071,
            -2086,
            -2101,
            -2116,
            -2131,
            -2146,
            -2161,
            -2176,
            -2191,
            -2206,
            -2221,
            -2236,
            -2251,
            -2266,
            -2281,
            -2296,
            -2311,
            -2326,
            -2340,
            -2355,
            -2370,
            -2385,
            -2400,
            -2415,
            -2430,
            -2445,
            -2460,
            -2474,
            -2489,
            -2504,
            -2519,
            -2534,
            -2549,
            -2563,
            -2578,
            -2593,
            -2608,
            -2623,
            -2638,
            -2652,
            -2667,
            -2682,
            -2697,
            -2711,
            -2726,
            -2741,
            -2756,
            -2770,
            -2785,
            -2800,
            -2815,
            -2829,
            -2844,
            -2859,
            -2873,
            -2888,
            -2903,
            -2918,
            -2932,
            -2947,
            -2962,
            -2976,
            -2991,
            -3005,
            -3020,
            -3035,
            -3049,
            -3064,
            -3078,
            -3093,
            -3108,
            -3122,
            -3137,
            -3151,
            -3166,
            -3180,
            -3195,
            -3210,
            -3224,
            -3239,
            -3253,
            -3268,
            -3282,
            -3297,
            -3311,
            -3326,
            -3340,
            -3354,
            -3369,
            -3383,
            -3398,
            -3412,
            -3427,
            -3441,
            -3455,
            -3470,
            -3484,
            -3499,
            -3513,
            -3527,
            -3542,
            -3556,
            -3570,
            -3585,
            -3599,
            -3613,
            -3628,
            -3642,
            -3656,
            -3670,
            -3685,
            -3699,
            -3713,
            -3727,
            -3742,
            -3756,
            -3770,
            -3784,
            -3798,
            -3813,
            -3827,
            -3841,
            -3855,
            -3869,
            -3883,
            -3898,
            -3912,
            -3926,
            -3940,
            -3954,
            -3968,
            -3982,
            -3996,
            -4010,
            -4024,
            -4038,
            -4052,
            -4066,
            -4080,
            -4094,
            -4108,
            -4122,
            -4136,
            -4150,
            -4164,
            -4178,
            -4192,
            -4206,
            -4220,
            -4234,
            -4248,
            -4262,
            -4276,
            -4289,
            -4303,
            -4317,
            -4331,
            -4345,
            -4359,
            -4372,
            -4386,
            -4400,
            -4414,
            -4427,
            -4441,
            -4455,
            -4469,
            -4482,
            -4496,
            -4510,
            -4523,
            -4537,
            -4551,
            -4564,
            -4578,
            -4592,
            -4605,
            -4619,
            -4633,
            -4646,
            -4660,
            -4673,
            -4687,
            -4700,
            -4714,
            -4727,
            -4741,
            -4755,
            -4768,
            -4781,
            -4795,
            -4808,
            -4822,
            -4835,
            -4849,
            -4862,
            -4876,
            -4889,
            -4902,
            -4916,
            -4929,
            -4942,
            -4956,
            -4969,
            -4982,
            -4996,
            -5009,
            -5022,
            -5035,
            -5049,
            -5062,
            -5075,
            -5088,
            -5102,
            -5115,
            -5128,
            -5141,
            -5154,
            -5167,
            -5180,
            -5194,
            -5207,
            -5220,
            -5233,
            -5246,
            -5259,
            -5272,
            -5285,
            -5298,
            -5311,
            -5324,
            -5337,
            -5350,
            -5363,
            -5376,
            -5389,
            -5402,
            -5415,
            -5428,
            -5440,
            -5453,
            -5466,
            -5479,
            -5492,
            -5505,
            -5517,
            -5530,
            -5543,
            -5556,
            -5568,
            -5581,
            -5594,
            -5607,
            -5619,
            -5632,
            -5645,
            -5657,
            -5670,
            -5683,
            -5695,
            -5708,
            -5720,
            -5733,
            -5746,
            -5758,
            -5771,
            -5783,
            -5796,
            -5808,
            -5821,
            -5833,
            -5846,
            -5858,
            -5870,
            -5883,
            -5895,
            -5908,
            -5920,
            -5932,
            -5945,
            -5957,
            -5969,
            -5982,
            -5994,
            -6006,
            -6018,
            -6031,
            -6043,
            -6055,
            -6067,
            -6079,
            -6092,
            -6104,
            -6116,
            -6128,
            -6140,
            -6152,
            -6164,
            -6176,
            -6189,
            -6201,
            -6213,
            -6225,
            -6237,
            -6249,
            -6261,
            -6273,
            -6284,
            -6296,
            -6308,
            -6320,
            -6332,
            -6344,
            -6356,
            -6368,
            -6379,
            -6391,
            -6403,
            -6415,
            -6427,
            -6438,
            -6450,
            -6462,
            -6473,
            -6485,
            -6497,
            -6508,
            -6520,
            -6532,
            -6543,
            -6555,
            -6567,
            -6578,
            -6590,
            -6601,
            -6613,
            -6624,
            -6636,
            -6647,
            -6659,
            -6670,
            -6681,
            -6693,
            -6704,
            -6716,
            -6727,
            -6738,
            -6750,
            -6761,
            -6772,
            -6784,
            -6795,
            -6806,
            -6817,
            -6828,
            -6840,
            -6851,
            -6862,
            -6873,
            -6884,
            -6895,
            -6907,
            -6918,
            -6929,
            -6940,
            -6951,
            -6962,
            -6973,
            -6984,
            -6995,
            -7006,
            -7017,
            -7028,
            -7038,
            -7049,
            -7060,
            -7071,
            -7082,
            -7093,
            -7104,
            -7114,
            -7125,
            -7136,
            -7147,
            -7157,
            -7168,
            -7179,
            -7189,
            -7200,
            -7211,
            -7221,
            -7232,
            -7242,
            -7253,
            -7264,
            -7274,
            -7285,
            -7295,
            -7306,
            -7316,
            -7327,
            -7337,
            -7347,
            -7358,
            -7368,
            -7379,
            -7389,
            -7399,
            -7410,
            -7420,
            -7430,
            -7440,
            -7451,
            -7461,
            -7471,
            -7481,
            -7491,
            -7502,
            -7512,
            -7522,
            -7532,
            -7542,
            -7552,
            -7562,
            -7572,
            -7582,
            -7592,
            -7602,
            -7612,
            -7622,
            -7632,
            -7642,
            -7652,
            -7662,
            -7671,
            -7681,
            -7691,
            -7701,
            -7711,
            -7720,
            -7730,
            -7740,
            -7750,
            -7759,
            -7769,
            -7779,
            -7788,
            -7798,
            -7807,
            -7817,
            -7827,
            -7836,
            -7846,
            -7855,
            -7865,
            -7874,
            -7883,
            -7893,
            -7902,
            -7912,
            -7921,
            -7930,
            -7940,
            -7949,
            -7958,
            -7968,
            -7977,
            -7986,
            -7995,
            -8005,
            -8014,
            -8023,
            -8032,
            -8041,
            -8050,
            -8059,
            -8068,
            -8078,
            -8087,
            -8096,
            -8105,
            -8114,
            -8123,
            -8131,
            -8140,
            -8149,
            -8158,
            -8167,
            -8176,
            -8185,
            -8193,
            -8202,
            -8211,
            -8220,
            -8228,
            -8237,
            -8246,
            -8255,
            -8263,
            -8272,
            -8280,
            -8289,
            -8298,
            -8306,
            -8315,
            -8323,
            -8332,
            -8340,
            -8349,
            -8357,
            -8365,
            -8374,
            -8382,
            -8391,
            -8399,
            -8407,
            -8416,
            -8424,
            -8432,
            -8440,
            -8449,
            -8457,
            -8465,
            -8473,
            -8481,
            -8489,
            -8497,
            -8505,
            -8514,
            -8522,
            -8530,
            -8538,
            -8546,
            -8554,
            -8561,
            -8569,
            -8577,
            -8585,
            -8593,
            -8601,
            -8609,
            -8616,
            -8624,
            -8632,
            -8640,
            -8647,
            -8655,
            -8663,
            -8670,
            -8678,
            -8686,
            -8693,
            -8701,
            -8708,
            -8716,
            -8723,
            -8731,
            -8738,
            -8746,
            -8753,
            -8761,
            -8768,
            -8775,
            -8783,
            -8790,
            -8797,
            -8805,
            -8812,
            -8819,
            -8826,
            -8834,
            -8841,
            -8848,
            -8855,
            -8862,
            -8869,
            -8876,
            -8883,
            -8890,
            -8897,
            -8904,
            -8911,
            -8918,
            -8925,
            -8932,
            -8939,
            -8946,
            -8953,
            -8960,
            -8966,
            -8973,
            -8980,
            -8987,
            -8993,
            -9000,
            -9007,
            -9013,
            -9020,
            -9027,
            -9033,
            -9040,
            -9046,
            -9053,
            -9059,
            -9066,
            -9072,
            -9079,
            -9085,
            -9092,
            -9098,
            -9104,
            -9111,
            -9117,
            -9123,
            -9130,
            -9136,
            -9142,
            -9148,
            -9154,
            -9161,
            -9167,
            -9173,
            -9179,
            -9185,
            -9191,
            -9197,
            -9203,
            -9209,
            -9215,
            -9221,
            -9227,
            -9233,
            -9239,
            -9245,
            -9250,
            -9256,
            -9262,
            -9268,
            -9274,
            -9279,
            -9285,
            -9291,
            -9296,
            -9302,
            -9308,
            -9313,
            -9319,
            -9324,
            -9330,
            -9335,
            -9341,
            -9346,
            -9352,
            -9357,
            -9363,
            -9368,
            -9373,
            -9379,
            -9384,
            -9389,
            -9395,
            -9400,
            -9405,
            -9410,
            -9415,
            -9421,
            -9426,
            -9431,
            -9436,
            -9441,
            -9446,
            -9451,
            -9456,
            -9461,
            -9466,
            -9471,
            -9476,
            -9481,
            -9486,
            -9490,
            -9495,
            -9500,
            -9505,
            -9510,
            -9514,
            -9519,
            -9524,
            -9528,
            -9533,
            -9538,
            -9542,
            -9547,
            -9551,
            -9556,
            -9560,
            -9565,
            -9569,
            -9574,
            -9578,
            -9583,
            -9587,
            -9591,
            -9596,
            -9600,
            -9604,
            -9609,
            -9613,
            -9617,
            -9621,
            -9625,
            -9630,
            -9634,
            -9638,
            -9642,
            -9646,
            -9650,
            -9654,
            -9658,
            -9662,
            -9666,
            -9670,
            -9674,
            -9678,
            -9681,
            -9685,
            -9689,
            -9693,
            -9697,
            -9700,
            -9704,
            -9708,
            -9711,
            -9715,
            -9719,
            -9722,
            -9726,
            -9729,
            -9733,
            -9736,
            -9740,
            -9743,
            -9747,
            -9750,
            -9754,
            -9757,
            -9760,
            -9764,
            -9767,
            -9770,
            -9774,
            -9777,
            -9780,
            -9783,
            -9786,
            -9789,
            -9793,
            -9796,
            -9799,
            -9802,
            -9805,
            -9808,
            -9811,
            -9814,
            -9817,
            -9820,
            -9823,
            -9825,
            -9828,
            -9831,
            -9834,
            -9837,
            -9839,
            -9842,
            -9845,
            -9847,
            -9850,
            -9853,
            -9855,
            -9858,
            -9861,
            -9863,
            -9866,
            -9868,
            -9871,
            -9873,
            -9875,
            -9878,
            -9880,
            -9883,
            -9885,
            -9887,
            -9890,
            -9892,
            -9894,
            -9896,
            -9898,
            -9901,
            -9903,
            -9905,
            -9907,
            -9909,
            -9911,
            -9913,
            -9915,
            -9917,
            -9919,
            -9921,
            -9923,
            -9925,
            -9927,
            -9929,
            -9930,
            -9932,
            -9934,
            -9936,
            -9937,
            -9939,
            -9941,
            -9942,
            -9944,
            -9946,
            -9947,
            -9949,
            -9950,
            -9952,
            -9953,
            -9955,
            -9956,
            -9958,
            -9959,
            -9960,
            -9962,
            -9963,
            -9964,
            -9966,
            -9967,
            -9968,
            -9969,
            -9971,
            -9972,
            -9973,
            -9974,
            -9975,
            -9976,
            -9977,
            -9978,
            -9979,
            -9980,
            -9981,
            -9982,
            -9983,
            -9984,
            -9985,
            -9986,
            -9986,
            -9987,
            -9988,
            -9989,
            -9989,
            -9990,
            -9991,
            -9991,
            -9992,
            -9993,
            -9993,
            -9994,
            -9994,
            -9995,
            -9995,
            -9996,
            -9996,
            -9997,
            -9997,
            -9997,
            -9998,
            -9998,
            -9998,
            -9999,
            -9999,
            -9999,
            -9999,
            -9999,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -9999,
            -9999,
            -9999,
            -9999,
            -9999,
            -9998,
            -9998,
            -9998,
            -9997,
            -9997,
            -9997,
            -9996,
            -9996,
            -9995,
            -9995,
            -9994,
            -9994,
            -9993,
            -9993,
            -9992,
            -9991,
            -9991,
            -9990,
            -9989,
            -9989,
            -9988,
            -9987,
            -9986,
            -9986,
            -9985,
            -9984,
            -9983,
            -9982,
            -9981,
            -9980,
            -9979,
            -9978,
            -9977,
            -9976,
            -9975,
            -9974,
            -9973,
            -9972,
            -9971,
            -9969,
            -9968,
            -9967,
            -9966,
            -9964,
            -9963,
            -9962,
            -9960,
            -9959,
            -9958,
            -9956,
            -9955,
            -9953,
            -9952,
            -9950,
            -9949,
            -9947,
            -9946,
            -9944,
            -9942,
            -9941,
            -9939,
            -9937,
            -9936,
            -9934,
            -9932,
            -9930,
            -9929,
            -9927,
            -9925,
            -9923,
            -9921,
            -9919,
            -9917,
            -9915,
            -9913,
            -9911,
            -9909,
            -9907,
            -9905,
            -9903,
            -9901,
            -9898,
            -9896,
            -9894,
            -9892,
            -9890,
            -9887,
            -9885,
            -9883,
            -9880,
            -9878,
            -9875,
            -9873,
            -9871,
            -9868,
            -9866,
            -9863,
            -9861,
            -9858,
            -9855,
            -9853,
            -9850,
            -9847,
            -9845,
            -9842,
            -9839,
            -9837,
            -9834,
            -9831,
            -9828,
            -9825,
            -9823,
            -9820,
            -9817,
            -9814,
            -9811,
            -9808,
            -9805,
            -9802,
            -9799,
            -9796,
            -9793,
            -9789,
            -9786,
            -9783,
            -9780,
            -9777,
            -9774,
            -9770,
            -9767,
            -9764,
            -9760,
            -9757,
            -9754,
            -9750,
            -9747,
            -9743,
            -9740,
            -9736,
            -9733,
            -9729,
            -9726,
            -9722,
            -9719,
            -9715,
            -9711,
            -9708,
            -9704,
            -9700,
            -9697,
            -9693,
            -9689,
            -9685,
            -9681,
            -9678,
            -9674,
            -9670,
            -9666,
            -9662,
            -9658,
            -9654,
            -9650,
            -9646,
            -9642,
            -9638,
            -9634,
            -9630,
            -9625,
            -9621,
            -9617,
            -9613,
            -9609,
            -9604,
            -9600,
            -9596,
            -9591,
            -9587,
            -9583,
            -9578,
            -9574,
            -9569,
            -9565,
            -9560,
            -9556,
            -9551,
            -9547,
            -9542,
            -9538,
            -9533,
            -9528,
            -9524,
            -9519,
            -9514,
            -9510,
            -9505,
            -9500,
            -9495,
            -9490,
            -9486,
            -9481,
            -9476,
            -9471,
            -9466,
            -9461,
            -9456,
            -9451,
            -9446,
            -9441,
            -9436,
            -9431,
            -9426,
            -9421,
            -9415,
            -9410,
            -9405,
            -9400,
            -9395,
            -9389,
            -9384,
            -9379,
            -9373,
            -9368,
            -9363,
            -9357,
            -9352,
            -9346,
            -9341,
            -9335,
            -9330,
            -9324,
            -9319,
            -9313,
            -9308,
            -9302,
            -9296,
            -9291,
            -9285,
            -9279,
            -9274,
            -9268,
            -9262,
            -9256,
            -9250,
            -9245,
            -9239,
            -9233,
            -9227,
            -9221,
            -9215,
            -9209,
            -9203,
            -9197,
            -9191,
            -9185,
            -9179,
            -9173,
            -9167,
            -9161,
            -9154,
            -9148,
            -9142,
            -9136,
            -9130,
            -9123,
            -9117,
            -9111,
            -9104,
            -9098,
            -9092,
            -9085,
            -9079,
            -9072,
            -9066,
            -9059,
            -9053,
            -9046,
            -9040,
            -9033,
            -9027,
            -9020,
            -9013,
            -9007,
            -9000,
            -8993,
            -8987,
            -8980,
            -8973,
            -8966,
            -8960,
            -8953,
            -8946,
            -8939,
            -8932,
            -8925,
            -8918,
            -8911,
            -8904,
            -8897,
            -8890,
            -8883,
            -8876,
            -8869,
            -8862,
            -8855,
            -8848,
            -8841,
            -8834,
            -8826,
            -8819,
            -8812,
            -8805,
            -8797,
            -8790,
            -8783,
            -8775,
            -8768,
            -8761,
            -8753,
            -8746,
            -8738,
            -8731,
            -8723,
            -8716,
            -8708,
            -8701,
            -8693,
            -8686,
            -8678,
            -8670,
            -8663,
            -8655,
            -8647,
            -8640,
            -8632,
            -8624,
            -8616,
            -8609,
            -8601,
            -8593,
            -8585,
            -8577,
            -8569,
            -8561,
            -8554,
            -8546,
            -8538,
            -8530,
            -8522,
            -8514,
            -8505,
            -8497,
            -8489,
            -8481,
            -8473,
            -8465,
            -8457,
            -8449,
            -8440,
            -8432,
            -8424,
            -8416,
            -8407,
            -8399,
            -8391,
            -8382,
            -8374,
            -8365,
            -8357,
            -8349,
            -8340,
            -8332,
            -8323,
            -8315,
            -8306,
            -8298,
            -8289,
            -8280,
            -8272,
            -8263,
            -8255,
            -8246,
            -8237,
            -8228,
            -8220,
            -8211,
            -8202,
            -8193,
            -8185,
            -8176,
            -8167,
            -8158,
            -8149,
            -8140,
            -8131,
            -8123,
            -8114,
            -8105,
            -8096,
            -8087,
            -8078,
            -8068,
            -8059,
            -8050,
            -8041,
            -8032,
            -8023,
            -8014,
            -8005,
            -7995,
            -7986,
            -7977,
            -7968,
            -7958,
            -7949,
            -7940,
            -7930,
            -7921,
            -7912,
            -7902,
            -7893,
            -7883,
            -7874,
            -7865,
            -7855,
            -7846,
            -7836,
            -7827,
            -7817,
            -7807,
            -7798,
            -7788,
            -7779,
            -7769,
            -7759,
            -7750,
            -7740,
            -7730,
            -7720,
            -7711,
            -7701,
            -7691,
            -7681,
            -7671,
            -7662,
            -7652,
            -7642,
            -7632,
            -7622,
            -7612,
            -7602,
            -7592,
            -7582,
            -7572,
            -7562,
            -7552,
            -7542,
            -7532,
            -7522,
            -7512,
            -7502,
            -7491,
            -7481,
            -7471,
            -7461,
            -7451,
            -7440,
            -7430,
            -7420,
            -7410,
            -7399,
            -7389,
            -7379,
            -7368,
            -7358,
            -7347,
            -7337,
            -7327,
            -7316,
            -7306,
            -7295,
            -7285,
            -7274,
            -7264,
            -7253,
            -7242,
            -7232,
            -7221,
            -7211,
            -7200,
            -7189,
            -7179,
            -7168,
            -7157,
            -7147,
            -7136,
            -7125,
            -7114,
            -7104,
            -7093,
            -7082,
            -7071,
            -7060,
            -7049,
            -7038,
            -7028,
            -7017,
            -7006,
            -6995,
            -6984,
            -6973,
            -6962,
            -6951,
            -6940,
            -6929,
            -6918,
            -6907,
            -6895,
            -6884,
            -6873,
            -6862,
            -6851,
            -6840,
            -6828,
            -6817,
            -6806,
            -6795,
            -6784,
            -6772,
            -6761,
            -6750,
            -6738,
            -6727,
            -6716,
            -6704,
            -6693,
            -6681,
            -6670,
            -6659,
            -6647,
            -6636,
            -6624,
            -6613,
            -6601,
            -6590,
            -6578,
            -6567,
            -6555,
            -6543,
            -6532,
            -6520,
            -6508,
            -6497,
            -6485,
            -6473,
            -6462,
            -6450,
            -6438,
            -6427,
            -6415,
            -6403,
            -6391,
            -6379,
            -6368,
            -6356,
            -6344,
            -6332,
            -6320,
            -6308,
            -6296,
            -6284,
            -6273,
            -6261,
            -6249,
            -6237,
            -6225,
            -6213,
            -6201,
            -6189,
            -6176,
            -6164,
            -6152,
            -6140,
            -6128,
            -6116,
            -6104,
            -6092,
            -6079,
            -6067,
            -6055,
            -6043,
            -6031,
            -6018,
            -6006,
            -5994,
            -5982,
            -5969,
            -5957,
            -5945,
            -5932,
            -5920,
            -5908,
            -5895,
            -5883,
            -5870,
            -5858,
            -5846,
            -5833,
            -5821,
            -5808,
            -5796,
            -5783,
            -5771,
            -5758,
            -5746,
            -5733,
            -5720,
            -5708,
            -5695,
            -5683,
            -5670,
            -5657,
            -5645,
            -5632,
            -5619,
            -5607,
            -5594,
            -5581,
            -5568,
            -5556,
            -5543,
            -5530,
            -5517,
            -5505,
            -5492,
            -5479,
            -5466,
            -5453,
            -5440,
            -5428,
            -5415,
            -5402,
            -5389,
            -5376,
            -5363,
            -5350,
            -5337,
            -5324,
            -5311,
            -5298,
            -5285,
            -5272,
            -5259,
            -5246,
            -5233,
            -5220,
            -5207,
            -5194,
            -5180,
            -5167,
            -5154,
            -5141,
            -5128,
            -5115,
            -5102,
            -5088,
            -5075,
            -5062,
            -5049,
            -5035,
            -5022,
            -5009,
            -4996,
            -4982,
            -4969,
            -4956,
            -4942,
            -4929,
            -4916,
            -4902,
            -4889,
            -4876,
            -4862,
            -4849,
            -4835,
            -4822,
            -4808,
            -4795,
            -4781,
            -4768,
            -4755,
            -4741,
            -4727,
            -4714,
            -4700,
            -4687,
            -4673,
            -4660,
            -4646,
            -4633,
            -4619,
            -4605,
            -4592,
            -4578,
            -4564,
            -4551,
            -4537,
            -4523,
            -4510,
            -4496,
            -4482,
            -4469,
            -4455,
            -4441,
            -4427,
            -4414,
            -4400,
            -4386,
            -4372,
            -4359,
            -4345,
            -4331,
            -4317,
            -4303,
            -4289,
            -4276,
            -4262,
            -4248,
            -4234,
            -4220,
            -4206,
            -4192,
            -4178,
            -4164,
            -4150,
            -4136,
            -4122,
            -4108,
            -4094,
            -4080,
            -4066,
            -4052,
            -4038,
            -4024,
            -4010,
            -3996,
            -3982,
            -3968,
            -3954,
            -3940,
            -3926,
            -3912,
            -3898,
            -3883,
            -3869,
            -3855,
            -3841,
            -3827,
            -3813,
            -3798,
            -3784,
            -3770,
            -3756,
            -3742,
            -3727,
            -3713,
            -3699,
            -3685,
            -3670,
            -3656,
            -3642,
            -3628,
            -3613,
            -3599,
            -3585,
            -3570,
            -3556,
            -3542,
            -3527,
            -3513,
            -3499,
            -3484,
            -3470,
            -3455,
            -3441,
            -3427,
            -3412,
            -3398,
            -3383,
            -3369,
            -3354,
            -3340,
            -3326,
            -3311,
            -3297,
            -3282,
            -3268,
            -3253,
            -3239,
            -3224,
            -3210,
            -3195,
            -3180,
            -3166,
            -3151,
            -3137,
            -3122,
            -3108,
            -3093,
            -3078,
            -3064,
            -3049,
            -3035,
            -3020,
            -3005,
            -2991,
            -2976,
            -2962,
            -2947,
            -2932,
            -2918,
            -2903,
            -2888,
            -2873,
            -2859,
            -2844,
            -2829,
            -2815,
            -2800,
            -2785,
            -2770,
            -2756,
            -2741,
            -2726,
            -2711,
            -2697,
            -2682,
            -2667,
            -2652,
            -2638,
            -2623,
            -2608,
            -2593,
            -2578,
            -2563,
            -2549,
            -2534,
            -2519,
            -2504,
            -2489,
            -2474,
            -2460,
            -2445,
            -2430,
            -2415,
            -2400,
            -2385,
            -2370,
            -2355,
            -2340,
            -2326,
            -2311,
            -2296,
            -2281,
            -2266,
            -2251,
            -2236,
            -2221,
            -2206,
            -2191,
            -2176,
            -2161,
            -2146,
            -2131,
            -2116,
            -2101,
            -2086,
            -2071,
            -2056,
            -2041,
            -2026,
            -2011,
            -1996,
            -1981,
            -1966,
            -1951,
            -1936,
            -1921,
            -1906,
            -1891,
            -1876,
            -1861,
            -1845,
            -1830,
            -1815,
            -1800,
            -1785,
            -1770,
            -1755,
            -1740,
            -1725,
            -1710,
            -1695,
            -1679,
            -1664,
            -1649,
            -1634,
            -1619,
            -1604,
            -1589,
            -1573,
            -1558,
            -1543,
            -1528,
            -1513,
            -1498,
            -1482,
            -1467,
            -1452,
            -1437,
            -1422,
            -1407,
            -1391,
            -1376,
            -1361,
            -1346,
            -1331,
            -1315,
            -1300,
            -1285,
            -1270,
            -1255,
            -1239,
            -1224,
            -1209,
            -1194,
            -1178,
            -1163,
            -1148,
            -1133,
            -1117,
            -1102,
            -1087,
            -1072,
            -1056,
            -1041,
            -1026,
            -1011,
            -995,
            -980,
            -965,
            -950,
            -934,
            -919,
            -904,
            -889,
            -873,
            -858,
            -843,
            -827,
            -812,
            -797,
            -782,
            -766,
            -751,
            -736,
            -720,
            -705,
            -690,
            -674,
            -659,
            -644,
            -629,
            -613,
            -598,
            -583,
            -567,
            -552,
            -537,
            -521,
            -506,
            -491,
            -475,
            -460,
            -445,
            -429,
            -414,
            -399,
            -383,
            -368,
            -353,
            -337,
            -322,
            -307,
            -291,
            -276,
            -261,
            -245,
            -230,
            -215,
            -199,
            -184,
            -169,
            -153,
            -138,
            -123,
            -107,
            -92,
            -77,
            -61,
            -46,
            -31,
            -15
            };
            SinCosLookupTable.cos_table = new int[]
            {
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000,
            9999,
            9999,
            9999,
            9999,
            9999,
            9998,
            9998,
            9998,
            9997,
            9997,
            9997,
            9996,
            9996,
            9995,
            9995,
            9994,
            9994,
            9993,
            9993,
            9992,
            9991,
            9991,
            9990,
            9989,
            9989,
            9988,
            9987,
            9986,
            9986,
            9985,
            9984,
            9983,
            9982,
            9981,
            9980,
            9979,
            9978,
            9977,
            9976,
            9975,
            9974,
            9973,
            9972,
            9971,
            9969,
            9968,
            9967,
            9966,
            9964,
            9963,
            9962,
            9960,
            9959,
            9958,
            9956,
            9955,
            9953,
            9952,
            9950,
            9949,
            9947,
            9946,
            9944,
            9942,
            9941,
            9939,
            9937,
            9936,
            9934,
            9932,
            9930,
            9929,
            9927,
            9925,
            9923,
            9921,
            9919,
            9917,
            9915,
            9913,
            9911,
            9909,
            9907,
            9905,
            9903,
            9901,
            9898,
            9896,
            9894,
            9892,
            9890,
            9887,
            9885,
            9883,
            9880,
            9878,
            9875,
            9873,
            9871,
            9868,
            9866,
            9863,
            9861,
            9858,
            9855,
            9853,
            9850,
            9847,
            9845,
            9842,
            9839,
            9837,
            9834,
            9831,
            9828,
            9825,
            9823,
            9820,
            9817,
            9814,
            9811,
            9808,
            9805,
            9802,
            9799,
            9796,
            9793,
            9789,
            9786,
            9783,
            9780,
            9777,
            9774,
            9770,
            9767,
            9764,
            9760,
            9757,
            9754,
            9750,
            9747,
            9743,
            9740,
            9736,
            9733,
            9729,
            9726,
            9722,
            9719,
            9715,
            9711,
            9708,
            9704,
            9700,
            9697,
            9693,
            9689,
            9685,
            9681,
            9678,
            9674,
            9670,
            9666,
            9662,
            9658,
            9654,
            9650,
            9646,
            9642,
            9638,
            9634,
            9630,
            9625,
            9621,
            9617,
            9613,
            9609,
            9604,
            9600,
            9596,
            9591,
            9587,
            9583,
            9578,
            9574,
            9569,
            9565,
            9560,
            9556,
            9551,
            9547,
            9542,
            9538,
            9533,
            9528,
            9524,
            9519,
            9514,
            9510,
            9505,
            9500,
            9495,
            9490,
            9486,
            9481,
            9476,
            9471,
            9466,
            9461,
            9456,
            9451,
            9446,
            9441,
            9436,
            9431,
            9426,
            9421,
            9415,
            9410,
            9405,
            9400,
            9395,
            9389,
            9384,
            9379,
            9373,
            9368,
            9363,
            9357,
            9352,
            9346,
            9341,
            9335,
            9330,
            9324,
            9319,
            9313,
            9308,
            9302,
            9296,
            9291,
            9285,
            9279,
            9274,
            9268,
            9262,
            9256,
            9250,
            9245,
            9239,
            9233,
            9227,
            9221,
            9215,
            9209,
            9203,
            9197,
            9191,
            9185,
            9179,
            9173,
            9167,
            9161,
            9154,
            9148,
            9142,
            9136,
            9130,
            9123,
            9117,
            9111,
            9104,
            9098,
            9092,
            9085,
            9079,
            9072,
            9066,
            9059,
            9053,
            9046,
            9040,
            9033,
            9027,
            9020,
            9013,
            9007,
            9000,
            8993,
            8987,
            8980,
            8973,
            8966,
            8960,
            8953,
            8946,
            8939,
            8932,
            8925,
            8918,
            8911,
            8904,
            8897,
            8890,
            8883,
            8876,
            8869,
            8862,
            8855,
            8848,
            8841,
            8834,
            8826,
            8819,
            8812,
            8805,
            8797,
            8790,
            8783,
            8775,
            8768,
            8761,
            8753,
            8746,
            8738,
            8731,
            8723,
            8716,
            8708,
            8701,
            8693,
            8686,
            8678,
            8670,
            8663,
            8655,
            8647,
            8640,
            8632,
            8624,
            8616,
            8609,
            8601,
            8593,
            8585,
            8577,
            8569,
            8561,
            8554,
            8546,
            8538,
            8530,
            8522,
            8514,
            8505,
            8497,
            8489,
            8481,
            8473,
            8465,
            8457,
            8449,
            8440,
            8432,
            8424,
            8416,
            8407,
            8399,
            8391,
            8382,
            8374,
            8365,
            8357,
            8349,
            8340,
            8332,
            8323,
            8315,
            8306,
            8298,
            8289,
            8280,
            8272,
            8263,
            8255,
            8246,
            8237,
            8228,
            8220,
            8211,
            8202,
            8193,
            8185,
            8176,
            8167,
            8158,
            8149,
            8140,
            8131,
            8123,
            8114,
            8105,
            8096,
            8087,
            8078,
            8068,
            8059,
            8050,
            8041,
            8032,
            8023,
            8014,
            8005,
            7995,
            7986,
            7977,
            7968,
            7958,
            7949,
            7940,
            7930,
            7921,
            7912,
            7902,
            7893,
            7883,
            7874,
            7865,
            7855,
            7846,
            7836,
            7827,
            7817,
            7807,
            7798,
            7788,
            7779,
            7769,
            7759,
            7750,
            7740,
            7730,
            7720,
            7711,
            7701,
            7691,
            7681,
            7671,
            7662,
            7652,
            7642,
            7632,
            7622,
            7612,
            7602,
            7592,
            7582,
            7572,
            7562,
            7552,
            7542,
            7532,
            7522,
            7512,
            7502,
            7491,
            7481,
            7471,
            7461,
            7451,
            7440,
            7430,
            7420,
            7410,
            7399,
            7389,
            7379,
            7368,
            7358,
            7347,
            7337,
            7327,
            7316,
            7306,
            7295,
            7285,
            7274,
            7264,
            7253,
            7242,
            7232,
            7221,
            7211,
            7200,
            7189,
            7179,
            7168,
            7157,
            7147,
            7136,
            7125,
            7114,
            7104,
            7093,
            7082,
            7071,
            7060,
            7049,
            7038,
            7028,
            7017,
            7006,
            6995,
            6984,
            6973,
            6962,
            6951,
            6940,
            6929,
            6918,
            6907,
            6895,
            6884,
            6873,
            6862,
            6851,
            6840,
            6828,
            6817,
            6806,
            6795,
            6784,
            6772,
            6761,
            6750,
            6738,
            6727,
            6716,
            6704,
            6693,
            6681,
            6670,
            6659,
            6647,
            6636,
            6624,
            6613,
            6601,
            6590,
            6578,
            6567,
            6555,
            6543,
            6532,
            6520,
            6508,
            6497,
            6485,
            6473,
            6462,
            6450,
            6438,
            6427,
            6415,
            6403,
            6391,
            6379,
            6368,
            6356,
            6344,
            6332,
            6320,
            6308,
            6296,
            6284,
            6273,
            6261,
            6249,
            6237,
            6225,
            6213,
            6201,
            6189,
            6176,
            6164,
            6152,
            6140,
            6128,
            6116,
            6104,
            6092,
            6079,
            6067,
            6055,
            6043,
            6031,
            6018,
            6006,
            5994,
            5982,
            5969,
            5957,
            5945,
            5932,
            5920,
            5908,
            5895,
            5883,
            5870,
            5858,
            5846,
            5833,
            5821,
            5808,
            5796,
            5783,
            5771,
            5758,
            5746,
            5733,
            5720,
            5708,
            5695,
            5683,
            5670,
            5657,
            5645,
            5632,
            5619,
            5607,
            5594,
            5581,
            5568,
            5556,
            5543,
            5530,
            5517,
            5505,
            5492,
            5479,
            5466,
            5453,
            5440,
            5428,
            5415,
            5402,
            5389,
            5376,
            5363,
            5350,
            5337,
            5324,
            5311,
            5298,
            5285,
            5272,
            5259,
            5246,
            5233,
            5220,
            5207,
            5194,
            5180,
            5167,
            5154,
            5141,
            5128,
            5115,
            5102,
            5088,
            5075,
            5062,
            5049,
            5035,
            5022,
            5009,
            4996,
            4982,
            4969,
            4956,
            4942,
            4929,
            4916,
            4902,
            4889,
            4876,
            4862,
            4849,
            4835,
            4822,
            4808,
            4795,
            4781,
            4768,
            4755,
            4741,
            4727,
            4714,
            4700,
            4687,
            4673,
            4660,
            4646,
            4633,
            4619,
            4605,
            4592,
            4578,
            4564,
            4551,
            4537,
            4523,
            4510,
            4496,
            4482,
            4469,
            4455,
            4441,
            4427,
            4414,
            4400,
            4386,
            4372,
            4359,
            4345,
            4331,
            4317,
            4303,
            4289,
            4276,
            4262,
            4248,
            4234,
            4220,
            4206,
            4192,
            4178,
            4164,
            4150,
            4136,
            4122,
            4108,
            4094,
            4080,
            4066,
            4052,
            4038,
            4024,
            4010,
            3996,
            3982,
            3968,
            3954,
            3940,
            3926,
            3912,
            3898,
            3883,
            3869,
            3855,
            3841,
            3827,
            3813,
            3798,
            3784,
            3770,
            3756,
            3742,
            3727,
            3713,
            3699,
            3685,
            3670,
            3656,
            3642,
            3628,
            3613,
            3599,
            3585,
            3570,
            3556,
            3542,
            3527,
            3513,
            3499,
            3484,
            3470,
            3455,
            3441,
            3427,
            3412,
            3398,
            3383,
            3369,
            3354,
            3340,
            3326,
            3311,
            3297,
            3282,
            3268,
            3253,
            3239,
            3224,
            3210,
            3195,
            3180,
            3166,
            3151,
            3137,
            3122,
            3108,
            3093,
            3078,
            3064,
            3049,
            3035,
            3020,
            3005,
            2991,
            2976,
            2962,
            2947,
            2932,
            2918,
            2903,
            2888,
            2873,
            2859,
            2844,
            2829,
            2815,
            2800,
            2785,
            2770,
            2756,
            2741,
            2726,
            2711,
            2697,
            2682,
            2667,
            2652,
            2638,
            2623,
            2608,
            2593,
            2578,
            2563,
            2549,
            2534,
            2519,
            2504,
            2489,
            2474,
            2460,
            2445,
            2430,
            2415,
            2400,
            2385,
            2370,
            2355,
            2340,
            2326,
            2311,
            2296,
            2281,
            2266,
            2251,
            2236,
            2221,
            2206,
            2191,
            2176,
            2161,
            2146,
            2131,
            2116,
            2101,
            2086,
            2071,
            2056,
            2041,
            2026,
            2011,
            1996,
            1981,
            1966,
            1951,
            1936,
            1921,
            1906,
            1891,
            1876,
            1861,
            1845,
            1830,
            1815,
            1800,
            1785,
            1770,
            1755,
            1740,
            1725,
            1710,
            1695,
            1679,
            1664,
            1649,
            1634,
            1619,
            1604,
            1589,
            1573,
            1558,
            1543,
            1528,
            1513,
            1498,
            1482,
            1467,
            1452,
            1437,
            1422,
            1407,
            1391,
            1376,
            1361,
            1346,
            1331,
            1315,
            1300,
            1285,
            1270,
            1255,
            1239,
            1224,
            1209,
            1194,
            1178,
            1163,
            1148,
            1133,
            1117,
            1102,
            1087,
            1072,
            1056,
            1041,
            1026,
            1011,
            995,
            980,
            965,
            950,
            934,
            919,
            904,
            889,
            873,
            858,
            843,
            827,
            812,
            797,
            782,
            766,
            751,
            736,
            720,
            705,
            690,
            674,
            659,
            644,
            629,
            613,
            598,
            583,
            567,
            552,
            537,
            521,
            506,
            491,
            475,
            460,
            445,
            429,
            414,
            399,
            383,
            368,
            353,
            337,
            322,
            307,
            291,
            276,
            261,
            245,
            230,
            215,
            199,
            184,
            169,
            153,
            138,
            123,
            107,
            92,
            77,
            61,
            46,
            31,
            15,
            0,
            -15,
            -31,
            -46,
            -61,
            -77,
            -92,
            -107,
            -123,
            -138,
            -153,
            -169,
            -184,
            -199,
            -215,
            -230,
            -245,
            -261,
            -276,
            -291,
            -307,
            -322,
            -337,
            -353,
            -368,
            -383,
            -399,
            -414,
            -429,
            -445,
            -460,
            -475,
            -491,
            -506,
            -521,
            -537,
            -552,
            -567,
            -583,
            -598,
            -613,
            -629,
            -644,
            -659,
            -674,
            -690,
            -705,
            -720,
            -736,
            -751,
            -766,
            -782,
            -797,
            -812,
            -827,
            -843,
            -858,
            -873,
            -889,
            -904,
            -919,
            -934,
            -950,
            -965,
            -980,
            -995,
            -1011,
            -1026,
            -1041,
            -1056,
            -1072,
            -1087,
            -1102,
            -1117,
            -1133,
            -1148,
            -1163,
            -1178,
            -1194,
            -1209,
            -1224,
            -1239,
            -1255,
            -1270,
            -1285,
            -1300,
            -1315,
            -1331,
            -1346,
            -1361,
            -1376,
            -1391,
            -1407,
            -1422,
            -1437,
            -1452,
            -1467,
            -1482,
            -1498,
            -1513,
            -1528,
            -1543,
            -1558,
            -1573,
            -1589,
            -1604,
            -1619,
            -1634,
            -1649,
            -1664,
            -1679,
            -1695,
            -1710,
            -1725,
            -1740,
            -1755,
            -1770,
            -1785,
            -1800,
            -1815,
            -1830,
            -1845,
            -1861,
            -1876,
            -1891,
            -1906,
            -1921,
            -1936,
            -1951,
            -1966,
            -1981,
            -1996,
            -2011,
            -2026,
            -2041,
            -2056,
            -2071,
            -2086,
            -2101,
            -2116,
            -2131,
            -2146,
            -2161,
            -2176,
            -2191,
            -2206,
            -2221,
            -2236,
            -2251,
            -2266,
            -2281,
            -2296,
            -2311,
            -2326,
            -2340,
            -2355,
            -2370,
            -2385,
            -2400,
            -2415,
            -2430,
            -2445,
            -2460,
            -2474,
            -2489,
            -2504,
            -2519,
            -2534,
            -2549,
            -2563,
            -2578,
            -2593,
            -2608,
            -2623,
            -2638,
            -2652,
            -2667,
            -2682,
            -2697,
            -2711,
            -2726,
            -2741,
            -2756,
            -2770,
            -2785,
            -2800,
            -2815,
            -2829,
            -2844,
            -2859,
            -2873,
            -2888,
            -2903,
            -2918,
            -2932,
            -2947,
            -2962,
            -2976,
            -2991,
            -3005,
            -3020,
            -3035,
            -3049,
            -3064,
            -3078,
            -3093,
            -3108,
            -3122,
            -3137,
            -3151,
            -3166,
            -3180,
            -3195,
            -3210,
            -3224,
            -3239,
            -3253,
            -3268,
            -3282,
            -3297,
            -3311,
            -3326,
            -3340,
            -3354,
            -3369,
            -3383,
            -3398,
            -3412,
            -3427,
            -3441,
            -3455,
            -3470,
            -3484,
            -3499,
            -3513,
            -3527,
            -3542,
            -3556,
            -3570,
            -3585,
            -3599,
            -3613,
            -3628,
            -3642,
            -3656,
            -3670,
            -3685,
            -3699,
            -3713,
            -3727,
            -3742,
            -3756,
            -3770,
            -3784,
            -3798,
            -3813,
            -3827,
            -3841,
            -3855,
            -3869,
            -3883,
            -3898,
            -3912,
            -3926,
            -3940,
            -3954,
            -3968,
            -3982,
            -3996,
            -4010,
            -4024,
            -4038,
            -4052,
            -4066,
            -4080,
            -4094,
            -4108,
            -4122,
            -4136,
            -4150,
            -4164,
            -4178,
            -4192,
            -4206,
            -4220,
            -4234,
            -4248,
            -4262,
            -4276,
            -4289,
            -4303,
            -4317,
            -4331,
            -4345,
            -4359,
            -4372,
            -4386,
            -4400,
            -4414,
            -4427,
            -4441,
            -4455,
            -4469,
            -4482,
            -4496,
            -4510,
            -4523,
            -4537,
            -4551,
            -4564,
            -4578,
            -4592,
            -4605,
            -4619,
            -4633,
            -4646,
            -4660,
            -4673,
            -4687,
            -4700,
            -4714,
            -4727,
            -4741,
            -4755,
            -4768,
            -4781,
            -4795,
            -4808,
            -4822,
            -4835,
            -4849,
            -4862,
            -4876,
            -4889,
            -4902,
            -4916,
            -4929,
            -4942,
            -4956,
            -4969,
            -4982,
            -4996,
            -5009,
            -5022,
            -5035,
            -5049,
            -5062,
            -5075,
            -5088,
            -5102,
            -5115,
            -5128,
            -5141,
            -5154,
            -5167,
            -5180,
            -5194,
            -5207,
            -5220,
            -5233,
            -5246,
            -5259,
            -5272,
            -5285,
            -5298,
            -5311,
            -5324,
            -5337,
            -5350,
            -5363,
            -5376,
            -5389,
            -5402,
            -5415,
            -5428,
            -5440,
            -5453,
            -5466,
            -5479,
            -5492,
            -5505,
            -5517,
            -5530,
            -5543,
            -5556,
            -5568,
            -5581,
            -5594,
            -5607,
            -5619,
            -5632,
            -5645,
            -5657,
            -5670,
            -5683,
            -5695,
            -5708,
            -5720,
            -5733,
            -5746,
            -5758,
            -5771,
            -5783,
            -5796,
            -5808,
            -5821,
            -5833,
            -5846,
            -5858,
            -5870,
            -5883,
            -5895,
            -5908,
            -5920,
            -5932,
            -5945,
            -5957,
            -5969,
            -5982,
            -5994,
            -6006,
            -6018,
            -6031,
            -6043,
            -6055,
            -6067,
            -6079,
            -6092,
            -6104,
            -6116,
            -6128,
            -6140,
            -6152,
            -6164,
            -6176,
            -6189,
            -6201,
            -6213,
            -6225,
            -6237,
            -6249,
            -6261,
            -6273,
            -6284,
            -6296,
            -6308,
            -6320,
            -6332,
            -6344,
            -6356,
            -6368,
            -6379,
            -6391,
            -6403,
            -6415,
            -6427,
            -6438,
            -6450,
            -6462,
            -6473,
            -6485,
            -6497,
            -6508,
            -6520,
            -6532,
            -6543,
            -6555,
            -6567,
            -6578,
            -6590,
            -6601,
            -6613,
            -6624,
            -6636,
            -6647,
            -6659,
            -6670,
            -6681,
            -6693,
            -6704,
            -6716,
            -6727,
            -6738,
            -6750,
            -6761,
            -6772,
            -6784,
            -6795,
            -6806,
            -6817,
            -6828,
            -6840,
            -6851,
            -6862,
            -6873,
            -6884,
            -6895,
            -6907,
            -6918,
            -6929,
            -6940,
            -6951,
            -6962,
            -6973,
            -6984,
            -6995,
            -7006,
            -7017,
            -7028,
            -7038,
            -7049,
            -7060,
            -7071,
            -7082,
            -7093,
            -7104,
            -7114,
            -7125,
            -7136,
            -7147,
            -7157,
            -7168,
            -7179,
            -7189,
            -7200,
            -7211,
            -7221,
            -7232,
            -7242,
            -7253,
            -7264,
            -7274,
            -7285,
            -7295,
            -7306,
            -7316,
            -7327,
            -7337,
            -7347,
            -7358,
            -7368,
            -7379,
            -7389,
            -7399,
            -7410,
            -7420,
            -7430,
            -7440,
            -7451,
            -7461,
            -7471,
            -7481,
            -7491,
            -7502,
            -7512,
            -7522,
            -7532,
            -7542,
            -7552,
            -7562,
            -7572,
            -7582,
            -7592,
            -7602,
            -7612,
            -7622,
            -7632,
            -7642,
            -7652,
            -7662,
            -7671,
            -7681,
            -7691,
            -7701,
            -7711,
            -7720,
            -7730,
            -7740,
            -7750,
            -7759,
            -7769,
            -7779,
            -7788,
            -7798,
            -7807,
            -7817,
            -7827,
            -7836,
            -7846,
            -7855,
            -7865,
            -7874,
            -7883,
            -7893,
            -7902,
            -7912,
            -7921,
            -7930,
            -7940,
            -7949,
            -7958,
            -7968,
            -7977,
            -7986,
            -7995,
            -8005,
            -8014,
            -8023,
            -8032,
            -8041,
            -8050,
            -8059,
            -8068,
            -8078,
            -8087,
            -8096,
            -8105,
            -8114,
            -8123,
            -8131,
            -8140,
            -8149,
            -8158,
            -8167,
            -8176,
            -8185,
            -8193,
            -8202,
            -8211,
            -8220,
            -8228,
            -8237,
            -8246,
            -8255,
            -8263,
            -8272,
            -8280,
            -8289,
            -8298,
            -8306,
            -8315,
            -8323,
            -8332,
            -8340,
            -8349,
            -8357,
            -8365,
            -8374,
            -8382,
            -8391,
            -8399,
            -8407,
            -8416,
            -8424,
            -8432,
            -8440,
            -8449,
            -8457,
            -8465,
            -8473,
            -8481,
            -8489,
            -8497,
            -8505,
            -8514,
            -8522,
            -8530,
            -8538,
            -8546,
            -8554,
            -8561,
            -8569,
            -8577,
            -8585,
            -8593,
            -8601,
            -8609,
            -8616,
            -8624,
            -8632,
            -8640,
            -8647,
            -8655,
            -8663,
            -8670,
            -8678,
            -8686,
            -8693,
            -8701,
            -8708,
            -8716,
            -8723,
            -8731,
            -8738,
            -8746,
            -8753,
            -8761,
            -8768,
            -8775,
            -8783,
            -8790,
            -8797,
            -8805,
            -8812,
            -8819,
            -8826,
            -8834,
            -8841,
            -8848,
            -8855,
            -8862,
            -8869,
            -8876,
            -8883,
            -8890,
            -8897,
            -8904,
            -8911,
            -8918,
            -8925,
            -8932,
            -8939,
            -8946,
            -8953,
            -8960,
            -8966,
            -8973,
            -8980,
            -8987,
            -8993,
            -9000,
            -9007,
            -9013,
            -9020,
            -9027,
            -9033,
            -9040,
            -9046,
            -9053,
            -9059,
            -9066,
            -9072,
            -9079,
            -9085,
            -9092,
            -9098,
            -9104,
            -9111,
            -9117,
            -9123,
            -9130,
            -9136,
            -9142,
            -9148,
            -9154,
            -9161,
            -9167,
            -9173,
            -9179,
            -9185,
            -9191,
            -9197,
            -9203,
            -9209,
            -9215,
            -9221,
            -9227,
            -9233,
            -9239,
            -9245,
            -9250,
            -9256,
            -9262,
            -9268,
            -9274,
            -9279,
            -9285,
            -9291,
            -9296,
            -9302,
            -9308,
            -9313,
            -9319,
            -9324,
            -9330,
            -9335,
            -9341,
            -9346,
            -9352,
            -9357,
            -9363,
            -9368,
            -9373,
            -9379,
            -9384,
            -9389,
            -9395,
            -9400,
            -9405,
            -9410,
            -9415,
            -9421,
            -9426,
            -9431,
            -9436,
            -9441,
            -9446,
            -9451,
            -9456,
            -9461,
            -9466,
            -9471,
            -9476,
            -9481,
            -9486,
            -9490,
            -9495,
            -9500,
            -9505,
            -9510,
            -9514,
            -9519,
            -9524,
            -9528,
            -9533,
            -9538,
            -9542,
            -9547,
            -9551,
            -9556,
            -9560,
            -9565,
            -9569,
            -9574,
            -9578,
            -9583,
            -9587,
            -9591,
            -9596,
            -9600,
            -9604,
            -9609,
            -9613,
            -9617,
            -9621,
            -9625,
            -9630,
            -9634,
            -9638,
            -9642,
            -9646,
            -9650,
            -9654,
            -9658,
            -9662,
            -9666,
            -9670,
            -9674,
            -9678,
            -9681,
            -9685,
            -9689,
            -9693,
            -9697,
            -9700,
            -9704,
            -9708,
            -9711,
            -9715,
            -9719,
            -9722,
            -9726,
            -9729,
            -9733,
            -9736,
            -9740,
            -9743,
            -9747,
            -9750,
            -9754,
            -9757,
            -9760,
            -9764,
            -9767,
            -9770,
            -9774,
            -9777,
            -9780,
            -9783,
            -9786,
            -9789,
            -9793,
            -9796,
            -9799,
            -9802,
            -9805,
            -9808,
            -9811,
            -9814,
            -9817,
            -9820,
            -9823,
            -9825,
            -9828,
            -9831,
            -9834,
            -9837,
            -9839,
            -9842,
            -9845,
            -9847,
            -9850,
            -9853,
            -9855,
            -9858,
            -9861,
            -9863,
            -9866,
            -9868,
            -9871,
            -9873,
            -9875,
            -9878,
            -9880,
            -9883,
            -9885,
            -9887,
            -9890,
            -9892,
            -9894,
            -9896,
            -9898,
            -9901,
            -9903,
            -9905,
            -9907,
            -9909,
            -9911,
            -9913,
            -9915,
            -9917,
            -9919,
            -9921,
            -9923,
            -9925,
            -9927,
            -9929,
            -9930,
            -9932,
            -9934,
            -9936,
            -9937,
            -9939,
            -9941,
            -9942,
            -9944,
            -9946,
            -9947,
            -9949,
            -9950,
            -9952,
            -9953,
            -9955,
            -9956,
            -9958,
            -9959,
            -9960,
            -9962,
            -9963,
            -9964,
            -9966,
            -9967,
            -9968,
            -9969,
            -9971,
            -9972,
            -9973,
            -9974,
            -9975,
            -9976,
            -9977,
            -9978,
            -9979,
            -9980,
            -9981,
            -9982,
            -9983,
            -9984,
            -9985,
            -9986,
            -9986,
            -9987,
            -9988,
            -9989,
            -9989,
            -9990,
            -9991,
            -9991,
            -9992,
            -9993,
            -9993,
            -9994,
            -9994,
            -9995,
            -9995,
            -9996,
            -9996,
            -9997,
            -9997,
            -9997,
            -9998,
            -9998,
            -9998,
            -9999,
            -9999,
            -9999,
            -9999,
            -9999,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -10000,
            -9999,
            -9999,
            -9999,
            -9999,
            -9999,
            -9998,
            -9998,
            -9998,
            -9997,
            -9997,
            -9997,
            -9996,
            -9996,
            -9995,
            -9995,
            -9994,
            -9994,
            -9993,
            -9993,
            -9992,
            -9991,
            -9991,
            -9990,
            -9989,
            -9989,
            -9988,
            -9987,
            -9986,
            -9986,
            -9985,
            -9984,
            -9983,
            -9982,
            -9981,
            -9980,
            -9979,
            -9978,
            -9977,
            -9976,
            -9975,
            -9974,
            -9973,
            -9972,
            -9971,
            -9969,
            -9968,
            -9967,
            -9966,
            -9964,
            -9963,
            -9962,
            -9960,
            -9959,
            -9958,
            -9956,
            -9955,
            -9953,
            -9952,
            -9950,
            -9949,
            -9947,
            -9946,
            -9944,
            -9942,
            -9941,
            -9939,
            -9937,
            -9936,
            -9934,
            -9932,
            -9930,
            -9929,
            -9927,
            -9925,
            -9923,
            -9921,
            -9919,
            -9917,
            -9915,
            -9913,
            -9911,
            -9909,
            -9907,
            -9905,
            -9903,
            -9901,
            -9898,
            -9896,
            -9894,
            -9892,
            -9890,
            -9887,
            -9885,
            -9883,
            -9880,
            -9878,
            -9875,
            -9873,
            -9871,
            -9868,
            -9866,
            -9863,
            -9861,
            -9858,
            -9855,
            -9853,
            -9850,
            -9847,
            -9845,
            -9842,
            -9839,
            -9837,
            -9834,
            -9831,
            -9828,
            -9825,
            -9823,
            -9820,
            -9817,
            -9814,
            -9811,
            -9808,
            -9805,
            -9802,
            -9799,
            -9796,
            -9793,
            -9789,
            -9786,
            -9783,
            -9780,
            -9777,
            -9774,
            -9770,
            -9767,
            -9764,
            -9760,
            -9757,
            -9754,
            -9750,
            -9747,
            -9743,
            -9740,
            -9736,
            -9733,
            -9729,
            -9726,
            -9722,
            -9719,
            -9715,
            -9711,
            -9708,
            -9704,
            -9700,
            -9697,
            -9693,
            -9689,
            -9685,
            -9681,
            -9678,
            -9674,
            -9670,
            -9666,
            -9662,
            -9658,
            -9654,
            -9650,
            -9646,
            -9642,
            -9638,
            -9634,
            -9630,
            -9625,
            -9621,
            -9617,
            -9613,
            -9609,
            -9604,
            -9600,
            -9596,
            -9591,
            -9587,
            -9583,
            -9578,
            -9574,
            -9569,
            -9565,
            -9560,
            -9556,
            -9551,
            -9547,
            -9542,
            -9538,
            -9533,
            -9528,
            -9524,
            -9519,
            -9514,
            -9510,
            -9505,
            -9500,
            -9495,
            -9490,
            -9486,
            -9481,
            -9476,
            -9471,
            -9466,
            -9461,
            -9456,
            -9451,
            -9446,
            -9441,
            -9436,
            -9431,
            -9426,
            -9421,
            -9415,
            -9410,
            -9405,
            -9400,
            -9395,
            -9389,
            -9384,
            -9379,
            -9373,
            -9368,
            -9363,
            -9357,
            -9352,
            -9346,
            -9341,
            -9335,
            -9330,
            -9324,
            -9319,
            -9313,
            -9308,
            -9302,
            -9296,
            -9291,
            -9285,
            -9279,
            -9274,
            -9268,
            -9262,
            -9256,
            -9250,
            -9245,
            -9239,
            -9233,
            -9227,
            -9221,
            -9215,
            -9209,
            -9203,
            -9197,
            -9191,
            -9185,
            -9179,
            -9173,
            -9167,
            -9161,
            -9154,
            -9148,
            -9142,
            -9136,
            -9130,
            -9123,
            -9117,
            -9111,
            -9104,
            -9098,
            -9092,
            -9085,
            -9079,
            -9072,
            -9066,
            -9059,
            -9053,
            -9046,
            -9040,
            -9033,
            -9027,
            -9020,
            -9013,
            -9007,
            -9000,
            -8993,
            -8987,
            -8980,
            -8973,
            -8966,
            -8960,
            -8953,
            -8946,
            -8939,
            -8932,
            -8925,
            -8918,
            -8911,
            -8904,
            -8897,
            -8890,
            -8883,
            -8876,
            -8869,
            -8862,
            -8855,
            -8848,
            -8841,
            -8834,
            -8826,
            -8819,
            -8812,
            -8805,
            -8797,
            -8790,
            -8783,
            -8775,
            -8768,
            -8761,
            -8753,
            -8746,
            -8738,
            -8731,
            -8723,
            -8716,
            -8708,
            -8701,
            -8693,
            -8686,
            -8678,
            -8670,
            -8663,
            -8655,
            -8647,
            -8640,
            -8632,
            -8624,
            -8616,
            -8609,
            -8601,
            -8593,
            -8585,
            -8577,
            -8569,
            -8561,
            -8554,
            -8546,
            -8538,
            -8530,
            -8522,
            -8514,
            -8505,
            -8497,
            -8489,
            -8481,
            -8473,
            -8465,
            -8457,
            -8449,
            -8440,
            -8432,
            -8424,
            -8416,
            -8407,
            -8399,
            -8391,
            -8382,
            -8374,
            -8365,
            -8357,
            -8349,
            -8340,
            -8332,
            -8323,
            -8315,
            -8306,
            -8298,
            -8289,
            -8280,
            -8272,
            -8263,
            -8255,
            -8246,
            -8237,
            -8228,
            -8220,
            -8211,
            -8202,
            -8193,
            -8185,
            -8176,
            -8167,
            -8158,
            -8149,
            -8140,
            -8131,
            -8123,
            -8114,
            -8105,
            -8096,
            -8087,
            -8078,
            -8068,
            -8059,
            -8050,
            -8041,
            -8032,
            -8023,
            -8014,
            -8005,
            -7995,
            -7986,
            -7977,
            -7968,
            -7958,
            -7949,
            -7940,
            -7930,
            -7921,
            -7912,
            -7902,
            -7893,
            -7883,
            -7874,
            -7865,
            -7855,
            -7846,
            -7836,
            -7827,
            -7817,
            -7807,
            -7798,
            -7788,
            -7779,
            -7769,
            -7759,
            -7750,
            -7740,
            -7730,
            -7720,
            -7711,
            -7701,
            -7691,
            -7681,
            -7671,
            -7662,
            -7652,
            -7642,
            -7632,
            -7622,
            -7612,
            -7602,
            -7592,
            -7582,
            -7572,
            -7562,
            -7552,
            -7542,
            -7532,
            -7522,
            -7512,
            -7502,
            -7491,
            -7481,
            -7471,
            -7461,
            -7451,
            -7440,
            -7430,
            -7420,
            -7410,
            -7399,
            -7389,
            -7379,
            -7368,
            -7358,
            -7347,
            -7337,
            -7327,
            -7316,
            -7306,
            -7295,
            -7285,
            -7274,
            -7264,
            -7253,
            -7242,
            -7232,
            -7221,
            -7211,
            -7200,
            -7189,
            -7179,
            -7168,
            -7157,
            -7147,
            -7136,
            -7125,
            -7114,
            -7104,
            -7093,
            -7082,
            -7071,
            -7060,
            -7049,
            -7038,
            -7028,
            -7017,
            -7006,
            -6995,
            -6984,
            -6973,
            -6962,
            -6951,
            -6940,
            -6929,
            -6918,
            -6907,
            -6895,
            -6884,
            -6873,
            -6862,
            -6851,
            -6840,
            -6828,
            -6817,
            -6806,
            -6795,
            -6784,
            -6772,
            -6761,
            -6750,
            -6738,
            -6727,
            -6716,
            -6704,
            -6693,
            -6681,
            -6670,
            -6659,
            -6647,
            -6636,
            -6624,
            -6613,
            -6601,
            -6590,
            -6578,
            -6567,
            -6555,
            -6543,
            -6532,
            -6520,
            -6508,
            -6497,
            -6485,
            -6473,
            -6462,
            -6450,
            -6438,
            -6427,
            -6415,
            -6403,
            -6391,
            -6379,
            -6368,
            -6356,
            -6344,
            -6332,
            -6320,
            -6308,
            -6296,
            -6284,
            -6273,
            -6261,
            -6249,
            -6237,
            -6225,
            -6213,
            -6201,
            -6189,
            -6176,
            -6164,
            -6152,
            -6140,
            -6128,
            -6116,
            -6104,
            -6092,
            -6079,
            -6067,
            -6055,
            -6043,
            -6031,
            -6018,
            -6006,
            -5994,
            -5982,
            -5969,
            -5957,
            -5945,
            -5932,
            -5920,
            -5908,
            -5895,
            -5883,
            -5870,
            -5858,
            -5846,
            -5833,
            -5821,
            -5808,
            -5796,
            -5783,
            -5771,
            -5758,
            -5746,
            -5733,
            -5720,
            -5708,
            -5695,
            -5683,
            -5670,
            -5657,
            -5645,
            -5632,
            -5619,
            -5607,
            -5594,
            -5581,
            -5568,
            -5556,
            -5543,
            -5530,
            -5517,
            -5505,
            -5492,
            -5479,
            -5466,
            -5453,
            -5440,
            -5428,
            -5415,
            -5402,
            -5389,
            -5376,
            -5363,
            -5350,
            -5337,
            -5324,
            -5311,
            -5298,
            -5285,
            -5272,
            -5259,
            -5246,
            -5233,
            -5220,
            -5207,
            -5194,
            -5180,
            -5167,
            -5154,
            -5141,
            -5128,
            -5115,
            -5102,
            -5088,
            -5075,
            -5062,
            -5049,
            -5035,
            -5022,
            -5009,
            -4996,
            -4982,
            -4969,
            -4956,
            -4942,
            -4929,
            -4916,
            -4902,
            -4889,
            -4876,
            -4862,
            -4849,
            -4835,
            -4822,
            -4808,
            -4795,
            -4781,
            -4768,
            -4755,
            -4741,
            -4727,
            -4714,
            -4700,
            -4687,
            -4673,
            -4660,
            -4646,
            -4633,
            -4619,
            -4605,
            -4592,
            -4578,
            -4564,
            -4551,
            -4537,
            -4523,
            -4510,
            -4496,
            -4482,
            -4469,
            -4455,
            -4441,
            -4427,
            -4414,
            -4400,
            -4386,
            -4372,
            -4359,
            -4345,
            -4331,
            -4317,
            -4303,
            -4289,
            -4276,
            -4262,
            -4248,
            -4234,
            -4220,
            -4206,
            -4192,
            -4178,
            -4164,
            -4150,
            -4136,
            -4122,
            -4108,
            -4094,
            -4080,
            -4066,
            -4052,
            -4038,
            -4024,
            -4010,
            -3996,
            -3982,
            -3968,
            -3954,
            -3940,
            -3926,
            -3912,
            -3898,
            -3883,
            -3869,
            -3855,
            -3841,
            -3827,
            -3813,
            -3798,
            -3784,
            -3770,
            -3756,
            -3742,
            -3727,
            -3713,
            -3699,
            -3685,
            -3670,
            -3656,
            -3642,
            -3628,
            -3613,
            -3599,
            -3585,
            -3570,
            -3556,
            -3542,
            -3527,
            -3513,
            -3499,
            -3484,
            -3470,
            -3455,
            -3441,
            -3427,
            -3412,
            -3398,
            -3383,
            -3369,
            -3354,
            -3340,
            -3326,
            -3311,
            -3297,
            -3282,
            -3268,
            -3253,
            -3239,
            -3224,
            -3210,
            -3195,
            -3180,
            -3166,
            -3151,
            -3137,
            -3122,
            -3108,
            -3093,
            -3078,
            -3064,
            -3049,
            -3035,
            -3020,
            -3005,
            -2991,
            -2976,
            -2962,
            -2947,
            -2932,
            -2918,
            -2903,
            -2888,
            -2873,
            -2859,
            -2844,
            -2829,
            -2815,
            -2800,
            -2785,
            -2770,
            -2756,
            -2741,
            -2726,
            -2711,
            -2697,
            -2682,
            -2667,
            -2652,
            -2638,
            -2623,
            -2608,
            -2593,
            -2578,
            -2563,
            -2549,
            -2534,
            -2519,
            -2504,
            -2489,
            -2474,
            -2460,
            -2445,
            -2430,
            -2415,
            -2400,
            -2385,
            -2370,
            -2355,
            -2340,
            -2326,
            -2311,
            -2296,
            -2281,
            -2266,
            -2251,
            -2236,
            -2221,
            -2206,
            -2191,
            -2176,
            -2161,
            -2146,
            -2131,
            -2116,
            -2101,
            -2086,
            -2071,
            -2056,
            -2041,
            -2026,
            -2011,
            -1996,
            -1981,
            -1966,
            -1951,
            -1936,
            -1921,
            -1906,
            -1891,
            -1876,
            -1861,
            -1845,
            -1830,
            -1815,
            -1800,
            -1785,
            -1770,
            -1755,
            -1740,
            -1725,
            -1710,
            -1695,
            -1679,
            -1664,
            -1649,
            -1634,
            -1619,
            -1604,
            -1589,
            -1573,
            -1558,
            -1543,
            -1528,
            -1513,
            -1498,
            -1482,
            -1467,
            -1452,
            -1437,
            -1422,
            -1407,
            -1391,
            -1376,
            -1361,
            -1346,
            -1331,
            -1315,
            -1300,
            -1285,
            -1270,
            -1255,
            -1239,
            -1224,
            -1209,
            -1194,
            -1178,
            -1163,
            -1148,
            -1133,
            -1117,
            -1102,
            -1087,
            -1072,
            -1056,
            -1041,
            -1026,
            -1011,
            -995,
            -980,
            -965,
            -950,
            -934,
            -919,
            -904,
            -889,
            -873,
            -858,
            -843,
            -827,
            -812,
            -797,
            -782,
            -766,
            -751,
            -736,
            -720,
            -705,
            -690,
            -674,
            -659,
            -644,
            -629,
            -613,
            -598,
            -583,
            -567,
            -552,
            -537,
            -521,
            -506,
            -491,
            -475,
            -460,
            -445,
            -429,
            -414,
            -399,
            -383,
            -368,
            -353,
            -337,
            -322,
            -307,
            -291,
            -276,
            -261,
            -245,
            -230,
            -215,
            -199,
            -184,
            -169,
            -153,
            -138,
            -123,
            -107,
            -92,
            -77,
            -61,
            -46,
            -31,
            -15,
            0,
            15,
            31,
            46,
            61,
            77,
            92,
            107,
            123,
            138,
            153,
            169,
            184,
            199,
            215,
            230,
            245,
            261,
            276,
            291,
            307,
            322,
            337,
            353,
            368,
            383,
            399,
            414,
            429,
            445,
            460,
            475,
            491,
            506,
            521,
            537,
            552,
            567,
            583,
            598,
            613,
            629,
            644,
            659,
            674,
            690,
            705,
            720,
            736,
            751,
            766,
            782,
            797,
            812,
            827,
            843,
            858,
            873,
            889,
            904,
            919,
            934,
            950,
            965,
            980,
            995,
            1011,
            1026,
            1041,
            1056,
            1072,
            1087,
            1102,
            1117,
            1133,
            1148,
            1163,
            1178,
            1194,
            1209,
            1224,
            1239,
            1255,
            1270,
            1285,
            1300,
            1315,
            1331,
            1346,
            1361,
            1376,
            1391,
            1407,
            1422,
            1437,
            1452,
            1467,
            1482,
            1498,
            1513,
            1528,
            1543,
            1558,
            1573,
            1589,
            1604,
            1619,
            1634,
            1649,
            1664,
            1679,
            1695,
            1710,
            1725,
            1740,
            1755,
            1770,
            1785,
            1800,
            1815,
            1830,
            1845,
            1861,
            1876,
            1891,
            1906,
            1921,
            1936,
            1951,
            1966,
            1981,
            1996,
            2011,
            2026,
            2041,
            2056,
            2071,
            2086,
            2101,
            2116,
            2131,
            2146,
            2161,
            2176,
            2191,
            2206,
            2221,
            2236,
            2251,
            2266,
            2281,
            2296,
            2311,
            2326,
            2340,
            2355,
            2370,
            2385,
            2400,
            2415,
            2430,
            2445,
            2460,
            2474,
            2489,
            2504,
            2519,
            2534,
            2549,
            2563,
            2578,
            2593,
            2608,
            2623,
            2638,
            2652,
            2667,
            2682,
            2697,
            2711,
            2726,
            2741,
            2756,
            2770,
            2785,
            2800,
            2815,
            2829,
            2844,
            2859,
            2873,
            2888,
            2903,
            2918,
            2932,
            2947,
            2962,
            2976,
            2991,
            3005,
            3020,
            3035,
            3049,
            3064,
            3078,
            3093,
            3108,
            3122,
            3137,
            3151,
            3166,
            3180,
            3195,
            3210,
            3224,
            3239,
            3253,
            3268,
            3282,
            3297,
            3311,
            3326,
            3340,
            3354,
            3369,
            3383,
            3398,
            3412,
            3427,
            3441,
            3455,
            3470,
            3484,
            3499,
            3513,
            3527,
            3542,
            3556,
            3570,
            3585,
            3599,
            3613,
            3628,
            3642,
            3656,
            3670,
            3685,
            3699,
            3713,
            3727,
            3742,
            3756,
            3770,
            3784,
            3798,
            3813,
            3827,
            3841,
            3855,
            3869,
            3883,
            3898,
            3912,
            3926,
            3940,
            3954,
            3968,
            3982,
            3996,
            4010,
            4024,
            4038,
            4052,
            4066,
            4080,
            4094,
            4108,
            4122,
            4136,
            4150,
            4164,
            4178,
            4192,
            4206,
            4220,
            4234,
            4248,
            4262,
            4276,
            4289,
            4303,
            4317,
            4331,
            4345,
            4359,
            4372,
            4386,
            4400,
            4414,
            4427,
            4441,
            4455,
            4469,
            4482,
            4496,
            4510,
            4523,
            4537,
            4551,
            4564,
            4578,
            4592,
            4605,
            4619,
            4633,
            4646,
            4660,
            4673,
            4687,
            4700,
            4714,
            4727,
            4741,
            4755,
            4768,
            4781,
            4795,
            4808,
            4822,
            4835,
            4849,
            4862,
            4876,
            4889,
            4902,
            4916,
            4929,
            4942,
            4956,
            4969,
            4982,
            4996,
            5009,
            5022,
            5035,
            5049,
            5062,
            5075,
            5088,
            5102,
            5115,
            5128,
            5141,
            5154,
            5167,
            5180,
            5194,
            5207,
            5220,
            5233,
            5246,
            5259,
            5272,
            5285,
            5298,
            5311,
            5324,
            5337,
            5350,
            5363,
            5376,
            5389,
            5402,
            5415,
            5428,
            5440,
            5453,
            5466,
            5479,
            5492,
            5505,
            5517,
            5530,
            5543,
            5556,
            5568,
            5581,
            5594,
            5607,
            5619,
            5632,
            5645,
            5657,
            5670,
            5683,
            5695,
            5708,
            5720,
            5733,
            5746,
            5758,
            5771,
            5783,
            5796,
            5808,
            5821,
            5833,
            5846,
            5858,
            5870,
            5883,
            5895,
            5908,
            5920,
            5932,
            5945,
            5957,
            5969,
            5982,
            5994,
            6006,
            6018,
            6031,
            6043,
            6055,
            6067,
            6079,
            6092,
            6104,
            6116,
            6128,
            6140,
            6152,
            6164,
            6176,
            6189,
            6201,
            6213,
            6225,
            6237,
            6249,
            6261,
            6273,
            6284,
            6296,
            6308,
            6320,
            6332,
            6344,
            6356,
            6368,
            6379,
            6391,
            6403,
            6415,
            6427,
            6438,
            6450,
            6462,
            6473,
            6485,
            6497,
            6508,
            6520,
            6532,
            6543,
            6555,
            6567,
            6578,
            6590,
            6601,
            6613,
            6624,
            6636,
            6647,
            6659,
            6670,
            6681,
            6693,
            6704,
            6716,
            6727,
            6738,
            6750,
            6761,
            6772,
            6784,
            6795,
            6806,
            6817,
            6828,
            6840,
            6851,
            6862,
            6873,
            6884,
            6895,
            6907,
            6918,
            6929,
            6940,
            6951,
            6962,
            6973,
            6984,
            6995,
            7006,
            7017,
            7028,
            7038,
            7049,
            7060,
            7071,
            7082,
            7093,
            7104,
            7114,
            7125,
            7136,
            7147,
            7157,
            7168,
            7179,
            7189,
            7200,
            7211,
            7221,
            7232,
            7242,
            7253,
            7264,
            7274,
            7285,
            7295,
            7306,
            7316,
            7327,
            7337,
            7347,
            7358,
            7368,
            7379,
            7389,
            7399,
            7410,
            7420,
            7430,
            7440,
            7451,
            7461,
            7471,
            7481,
            7491,
            7502,
            7512,
            7522,
            7532,
            7542,
            7552,
            7562,
            7572,
            7582,
            7592,
            7602,
            7612,
            7622,
            7632,
            7642,
            7652,
            7662,
            7671,
            7681,
            7691,
            7701,
            7711,
            7720,
            7730,
            7740,
            7750,
            7759,
            7769,
            7779,
            7788,
            7798,
            7807,
            7817,
            7827,
            7836,
            7846,
            7855,
            7865,
            7874,
            7883,
            7893,
            7902,
            7912,
            7921,
            7930,
            7940,
            7949,
            7958,
            7968,
            7977,
            7986,
            7995,
            8005,
            8014,
            8023,
            8032,
            8041,
            8050,
            8059,
            8068,
            8078,
            8087,
            8096,
            8105,
            8114,
            8123,
            8131,
            8140,
            8149,
            8158,
            8167,
            8176,
            8185,
            8193,
            8202,
            8211,
            8220,
            8228,
            8237,
            8246,
            8255,
            8263,
            8272,
            8280,
            8289,
            8298,
            8306,
            8315,
            8323,
            8332,
            8340,
            8349,
            8357,
            8365,
            8374,
            8382,
            8391,
            8399,
            8407,
            8416,
            8424,
            8432,
            8440,
            8449,
            8457,
            8465,
            8473,
            8481,
            8489,
            8497,
            8505,
            8514,
            8522,
            8530,
            8538,
            8546,
            8554,
            8561,
            8569,
            8577,
            8585,
            8593,
            8601,
            8609,
            8616,
            8624,
            8632,
            8640,
            8647,
            8655,
            8663,
            8670,
            8678,
            8686,
            8693,
            8701,
            8708,
            8716,
            8723,
            8731,
            8738,
            8746,
            8753,
            8761,
            8768,
            8775,
            8783,
            8790,
            8797,
            8805,
            8812,
            8819,
            8826,
            8834,
            8841,
            8848,
            8855,
            8862,
            8869,
            8876,
            8883,
            8890,
            8897,
            8904,
            8911,
            8918,
            8925,
            8932,
            8939,
            8946,
            8953,
            8960,
            8966,
            8973,
            8980,
            8987,
            8993,
            9000,
            9007,
            9013,
            9020,
            9027,
            9033,
            9040,
            9046,
            9053,
            9059,
            9066,
            9072,
            9079,
            9085,
            9092,
            9098,
            9104,
            9111,
            9117,
            9123,
            9130,
            9136,
            9142,
            9148,
            9154,
            9161,
            9167,
            9173,
            9179,
            9185,
            9191,
            9197,
            9203,
            9209,
            9215,
            9221,
            9227,
            9233,
            9239,
            9245,
            9250,
            9256,
            9262,
            9268,
            9274,
            9279,
            9285,
            9291,
            9296,
            9302,
            9308,
            9313,
            9319,
            9324,
            9330,
            9335,
            9341,
            9346,
            9352,
            9357,
            9363,
            9368,
            9373,
            9379,
            9384,
            9389,
            9395,
            9400,
            9405,
            9410,
            9415,
            9421,
            9426,
            9431,
            9436,
            9441,
            9446,
            9451,
            9456,
            9461,
            9466,
            9471,
            9476,
            9481,
            9486,
            9490,
            9495,
            9500,
            9505,
            9510,
            9514,
            9519,
            9524,
            9528,
            9533,
            9538,
            9542,
            9547,
            9551,
            9556,
            9560,
            9565,
            9569,
            9574,
            9578,
            9583,
            9587,
            9591,
            9596,
            9600,
            9604,
            9609,
            9613,
            9617,
            9621,
            9625,
            9630,
            9634,
            9638,
            9642,
            9646,
            9650,
            9654,
            9658,
            9662,
            9666,
            9670,
            9674,
            9678,
            9681,
            9685,
            9689,
            9693,
            9697,
            9700,
            9704,
            9708,
            9711,
            9715,
            9719,
            9722,
            9726,
            9729,
            9733,
            9736,
            9740,
            9743,
            9747,
            9750,
            9754,
            9757,
            9760,
            9764,
            9767,
            9770,
            9774,
            9777,
            9780,
            9783,
            9786,
            9789,
            9793,
            9796,
            9799,
            9802,
            9805,
            9808,
            9811,
            9814,
            9817,
            9820,
            9823,
            9825,
            9828,
            9831,
            9834,
            9837,
            9839,
            9842,
            9845,
            9847,
            9850,
            9853,
            9855,
            9858,
            9861,
            9863,
            9866,
            9868,
            9871,
            9873,
            9875,
            9878,
            9880,
            9883,
            9885,
            9887,
            9890,
            9892,
            9894,
            9896,
            9898,
            9901,
            9903,
            9905,
            9907,
            9909,
            9911,
            9913,
            9915,
            9917,
            9919,
            9921,
            9923,
            9925,
            9927,
            9929,
            9930,
            9932,
            9934,
            9936,
            9937,
            9939,
            9941,
            9942,
            9944,
            9946,
            9947,
            9949,
            9950,
            9952,
            9953,
            9955,
            9956,
            9958,
            9959,
            9960,
            9962,
            9963,
            9964,
            9966,
            9967,
            9968,
            9969,
            9971,
            9972,
            9973,
            9974,
            9975,
            9976,
            9977,
            9978,
            9979,
            9980,
            9981,
            9982,
            9983,
            9984,
            9985,
            9986,
            9986,
            9987,
            9988,
            9989,
            9989,
            9990,
            9991,
            9991,
            9992,
            9993,
            9993,
            9994,
            9994,
            9995,
            9995,
            9996,
            9996,
            9997,
            9997,
            9997,
            9998,
            9998,
            9998,
            9999,
            9999,
            9999,
            9999,
            9999,
            10000,
            10000,
            10000,
            10000,
            10000,
            10000
            };
            // 		DebugHelper.Assert(SinCosLookupTable.sin_table.Length == SinCosLookupTable.COUNT);
            // 		DebugHelper.Assert(SinCosLookupTable.cos_table.Length == SinCosLookupTable.COUNT);
        }

        public static int getIndex(long nom, long den)
        {
            nom *= (long)SinCosLookupTable.NOM_MUL;
            den *= 62832L;
            int num = (int)(nom / den);
            return num & SinCosLookupTable.MASK;
        }
    }
}
